Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wszytywać strumieniowo jak w c++ (cin >> $tab) ?
rafalp
post
Post #1





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


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

Ten post edytował rafalp 14.04.2006, 11:03:16


--------------------
Go to the top of the page
+Quote Post
FiDO
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


  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.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
rafalp
post
Post #3





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


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.

Ten post edytował rafalp 14.04.2006, 15:17:25


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:53