Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] csv_to_array
Forum PHP.pl > Forum > Przedszkole
czaro123
w manualu PHP jest podany taki kod, z którym walczę już jakiś czas:
  1. function csv_to_array($filename='', $delimiter=',')
  2. {
  3. if(!file_exists($filename) || !is_readable($filename))
  4. return FALSE;
  5. $header = NULL;
  6. $data = array();
  7. if (($handle = fopen($filename, 'r')) !== FALSE)
  8. {
  9. while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)
  10. {
  11. if(!$header)
  12. $header = $row;
  13. else
  14. $data[] = array_combine($header, $row);
  15. }
  16. fclose($handle);
  17. }
  18. return $data;
  19. }
  20.  
  21. $aaa = csv_to_array('example.csv');
  22.  
  23.  
  24. echo '<pre>';
  25. print_r($aaa);
  26. echo'</pre>';


mój problem polega na tym iż ilość kolumn nie jest równa ilości wierszy, tzn kolumn mam 13 a ilość wierszy nie jest z góry znana. powyższy kod podpowiada iż Both parameters should have an equal number of elements. pytanie: gdzie zmienić i co w tym kodzie aby można byłoby przerobić csv na array gdzie mamy różną ilość kolumn i wierszy. z góry dziękuję za podpowiedź. ważne: klucze w tej tablicy mogą mieć oznaczenia 0,1,2 itd, nie chcę aby żadna z tych 13 kolumn była kluczami
Pyton_000
Kod
if(!$header)
$header = $row;
else
$data[] = array_combine($header, $row);
}

na
Kod
$data[] = $row;
czaro123
dziękuję
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.