Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wszytywać strumieniowo jak w c++ (cin >> $tab) ?
Forum PHP.pl > Forum > PHP
rafalp
Jest pliczek zwawierający liczby np.

34 21 55 67 32
32 5 2 6 8
4 7 2 32 54
1 2 3 4 5

..itd
przed liczbami znajdują sie puste pola " " - rożnej szerokosci


Potrzebuje wczytac do tablicy (i to jeszcze 2-wymiarowej) takie dane, ale "spacje" bardzo przeszkadzają gdyż $tablica wtedy staje sie typowym stringiem a nie tablicą (int)
- potrzebuje czegoś (instrukcji, funkcji, albo lepiej - klasy tongue.gif winksmiley.jpg ) działającej podobnie jak "cin >> tab" z C++ (jak wiadomo taka instrukcja pomija puste znaki).


Pozdrawiam i gratuluje sobie pierwszego posta guitar.gif
FiDO
  1. <?php
  2.  
  3. function tab(&$item, $key)
  4. {
  5.     $item = explode(" ", $item);
  6. }
  7.  
  8. $tablica = file('plik.txt');
  9. array_walk($tablica, 'tab');
  10.  
  11. ?>

Nie ma zadnej kontroli bledow, ale to juz jako zadanie domowe smile.gif

Jesli plik jest duzy to lepiej zamienic wywolanie file" title="Zobacz w manualu php" target="_manual() na czytanie fgets" title="Zobacz w manualu php" target="_manual'em.
rafalp
Tak, fajnie ładuje, niestety "nic w naturze nie ginie" i owe spacje zamienily się na "[][][][][][]" i wylądowały w $tablica[x][0] - i to na dodatek albo same albo z pierwsza liczba w danym wierszu tzn.
[][][][]54
33
23
11
dalej OK..
albo
[][][][][]
53
23
3
65
dalej OK..
-dlatego array_pop() raczej nie można użyć..
- w terultacie "pod tablice" ($tablica[x][te wartosci]) maja po 19 albo po 20 indeksow ohmy.gif

Tak czy inaczej w przypadku pliku bez zbędnych spacji działa dobrze.
Spróbuję jednak rozbudować tę funkcję.. może jakoś pozbędę się spacji..

--
Machnołem ltrim() plik z danymi przed wywołaniem funkcji i już jest OK.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.