Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Odczyt z pliku do tablicy
Forum PHP.pl > Forum > Przedszkole
masttiv
Wiam!
Niestety, nie moge dojsc dlaczego tak sie dziwnie dzieje, ze nie moge odczytac z pliku wartosci i wstawic odpowiednio do tablicy. Wyniki mam nie zrozumiale.

plik wyglada tak:

1;piekarz
2;lekarz
3;piekarz
4;hydraulik
5;strazak
6;hydraulik

a kod tak:

  1. <?php
  2. $osoby = array();
  3. $odczyt = array();
  4.  
  5.  
  6. $plik = fopen("zawody.txt", "r");
  7.  
  8. while (!feof($plik)) {
  9.  
  10. $wiersz=fgets($plik , 1024);
  11.  
  12.  $odczyt = explode(";",$wiersz);
  13.  
  14. }
  15.  
  16.  
  17. foreach($odczyt as $numer => $zawod){
  18.  
  19. $osoby[$numer]=$zawod;
  20.  
  21. echo "<br>" . " numer " . $numer;
  22. echo " zawod " . $zawod;
  23.  
  24. }
  25. ?>
tommy4
raz masz $v_wiersz a raz masz $wiersz. Chyba o to chodzi. To samo z $v_numer i $numer dalej.
masttiv
Cytat(tommy4 @ 30.05.2007, 16:42:25 ) *
raz masz $v_wiersz a raz masz $wiersz. Chyba o to chodzi. To samo z $v_numer i $numer dalej.


Nie, to nie to, zle wpisalem, juz poprawilem a i tak nie dziala...
rafaelb
Cytat(masttiv @ 30.05.2007, 16:14:44 ) *
Wiam!
Niestety, nie moge dojsc dlaczego tak sie dziwnie dzieje, ze nie moge odczytac z pliku wartosci i wstawic odpowiednio do tablicy. Wyniki mam nie zrozumiale.

plik wyglada tak:

1;piekarz
2;lekarz
3;piekarz
4;hydraulik
5;strazak
6;hydraulik

a kod tak:

  1. <?php
  2. $osoby = array();
  3. $odczyt = array();
  4. $plik = fopen("zawody.txt", "r");
  5.  
  6. while (!feof($plik)) {
  7.  
  8. $wiersz=fgets($plik , 1024);
  9.  
  10.  $odczyt = explode(";",$wiersz);
  11.  
  12. }
  13.  
  14.  
  15. foreach($odczyt as $numer => $zawod){
  16.  
  17. $osoby[$numer]=$zawod;
  18.  
  19. echo "<br>" . " numer " . $numer;
  20. echo " zawod " . $zawod;
  21.  
  22. }
  23. ?>


O ile sie nie myle smile.gif to taki zapis dal twoich danych spowoduje ze np
  1. <?php
  2. $odczyt = explode(";",$wiersz);
  3. ?>


dla 3;piekarz
bedzie
  1. <?php
  2. $odczyt [0] = 3;
  3. $odczyt [1] = piekarz;
  4. ?>


wiec uzycie foreach jest bezzasadne
jak juz cos to
  1. <?php
  2. $osoby[ $odczyt [0] ] = $odczyt [1];
  3. ?>
masttiv
[quote name='rafaelb' date='31.05.2007, 22:00:19 ' post='363738']
O ile sie nie myle smile.gif to taki zapis dal twoich danych spowoduje ze np
  1. <?php
  2. $odczyt = explode(";",$wiersz);
  3. ?>


Ok, a mozna to jakos inaczej zaposac, bo musze to powkladac w petli do tablicy a potem zliczyc ile razy dowolny zawod sie powtarza...
rafaelb
Przesiez będziesz miał pętle
  1. <?php
  2. $osoby = array();
  3. $odczyt = array();
  4. $plik = fopen("zawody.txt", "r");
  5. while (!feof($plik)) {
  6. $wiersz=fgets($plik , 1024);
  7. $odczyt = explode(";",$wiersz);
  8. $numer = $odczyt[0];
  9. $zawod = $odczyt[1];
  10. $osoby[$numer] = $zawod;
  11. }
  12. ?>
masttiv
Cytat(rafaelb @ 1.06.2007, 20:22:23 ) *
Przesiez będziesz miał pętle
  1. <?php
  2. $osoby = array();
  3. $odczyt = array();
  4. $plik = fopen("zawody.txt", "r");
  5. while (!feof($plik)) {
  6. $wiersz=fgets($plik , 1024);
  7. $odczyt = explode(";",$wiersz);
  8. $numer = $odczyt[0];
  9. $zawod = $odczyt[1];
  10. $osoby[$numer] = $zawod;
  11. }
  12. ?>


Tak, masz racje, sorry (wszytko mi juz dziala)
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.