Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Odczyt z pliku do tablicy
masttiv
post 30.05.2007, 15:14:44
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 7.12.2006

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


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. ?>


Ten post edytował masttiv 31.05.2007, 20:40:44
Go to the top of the page
+Quote Post
tommy4
post 30.05.2007, 15:42:25
Post #2





Grupa: Zarejestrowani
Postów: 288
Pomógł: 12
Dołączył: 2.12.2005

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


raz masz $v_wiersz a raz masz $wiersz. Chyba o to chodzi. To samo z $v_numer i $numer dalej.

Ten post edytował tommy4 30.05.2007, 15:43:00
Go to the top of the page
+Quote Post
masttiv
post 31.05.2007, 20:41:55
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 7.12.2006

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


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...
Go to the top of the page
+Quote Post
rafaelb
post 31.05.2007, 21:00:19
Post #4





Grupa: Zarejestrowani
Postów: 49
Pomógł: 2
Dołączył: 17.01.2004

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


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. ?>
Go to the top of the page
+Quote Post
masttiv
post 1.06.2007, 09:36:07
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 7.12.2006

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


[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...
Go to the top of the page
+Quote Post
rafaelb
post 1.06.2007, 19:22:23
Post #6





Grupa: Zarejestrowani
Postów: 49
Pomógł: 2
Dołączył: 17.01.2004

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


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. ?>
Go to the top of the page
+Quote Post
masttiv
post 3.06.2007, 18:49:09
Post #7





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 7.12.2006

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


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)

Ten post edytował masttiv 3.06.2007, 18:49:45
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 Wersja Lo-Fi Aktualny czas: 13.08.2025 - 23:01