Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przypisanie wartości z pliku txt do zmiennej
Forum PHP.pl > Forum > Przedszkole
busyboy
Witam,

Mam takie problem, w pliku txt mam zapisane wartości :

  1. 960;5;717884
  2. 960;5;718355


Chodzi o to żeby wartości 717884 i 718355 były zapisane w jakieś zmiennej w następujący sposób :

  1. '717884 ','718355'



Zrobiłem coś takiego :

  1. $row = 1;
  2. if (($handle = fopen("zam.txt", "r")) !== FALSE) {
  3. while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
  4. $num = count($data);
  5. $row++;
  6. echo $data[2];
  7. echo '<br>';
  8. }
  9. }


Ale niestety zmienna $data[2] jest nadpisywana w pętli - proszę o pomoc w rozwiązaniu problemu.
emstawicki
Utwórz sobie przed pętlą pustą tablicę na wyniki, a w działaniu pętli dodawaj nowy wynik to owej tablicy.
busyboy
Coś mi nie chce za bardzo dodać sad.gif

  1. <?php
  2. $row = 1;
  3.  
  4. $tablica[0];
  5. if (($handle = fopen("zam.txt", "r")) !== FALSE) {
  6. while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
  7. $num = count($data);
  8. $row++;
  9. $tablica[0] = $tablica[0] + "'".$data[2]."',";
  10. }
  11. }
  12. echo $tablica[0];
  13. echo '<br>'
  14. ?>
pakolord
  1. $urlfile = 'plik.txt' ;
  2. @$plik = file($urlfile);
  3.  
  4. for($x=0; $x<count($plik); $x++)
  5. {
  6. echo $plik[$x];
  7. echo '<br>';
  8. }
busyboy
Tylko że plik ma określoną strukturę :

  1. 960;5;717884
  2. 960;5;718355


I chodzi mi o wartości 717884 i 718355 w takiej formie :

  1. '717884','718355'

emstawicki
sciana.gif sciana.gif
Trzymaj każdy wynik jako osobny element tablicy...

Utworzenie pustej tablicy:
  1. $tablica = array();

Dodanie do tablicy czegokolwiek:
  1. $tablica[] = 'Manual boli jak pierwszy raz';

pakolord
  1. $urlfile = 'test.txt' ;
  2. @$plik = file($urlfile);
  3.  
  4. for($x=0; $x<count($plik); $x++)
  5. {
  6. $dane = explode(";", $plik[$x]);
  7. echo $dane[2];
  8. echo "','";
  9. }
busyboy
Zrobiłem coś takiego :

  1. <?php
  2. $row = 1;
  3.  
  4. $tablica = array();
  5. if (($handle = fopen("zam.txt", "r")) !== FALSE) {
  6. while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
  7. $num = count($data);
  8. $row++;
  9. $tablica[]=$data[2];
  10. }
  11. }
  12. for ($i=0;$i<$row; $i++)
  13. echo "'".$tablica[$i]."',";
  14. ?>


Wynik :

  1. '717801','718302','717803','',


Bez obcięcia znaków na końcu się nie obejdzie questionmark.gif

I chciałbym zapisać to jakiejś zmiennej bym można było wykorzystać dane poza pętlą for

Trochę powalczyłem i mam coś takiego :

  1. <?php
  2. $row = 1;
  3. $tablica = array();
  4. if (($handle = fopen("zam.txt", "r")) !== FALSE) {
  5. while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
  6. $num = count($data);
  7. $row++;
  8. $tablica[$row]="'".$data[2]."',";
  9. }
  10. }
  11. print_r($tablica);
  12. ?>


Wynik : Array ( [2] => '717801', [3] => '718302', [4] => '717803', )

Jak można to wyświetlić w normalnej formie questionmark.gif

Wynik : '717801','718302','717803'
KsaR
  1. echo rtrim(implode($tablica), ',');
Rysh
Zobacz to http://www.php.net/manual/en/function.str-getcsv.php
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.