Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Interpretowanie pliku do wielowymiarowej tablicy
Forum PHP.pl > Forum > Przedszkole
~dNkN!
próbuję zbudować system, który będzie przechowywał surowe dane tablic w plikach .txt.

pomyślałem, że przykładowy plik mógł by wyglądać tak:
Kod
NAZWA TABELI
A/B    B1     B2     B3     B4     B5
A1     01     02     03     04     05
A2     06     07     08     09     10
A3     11     12     13     14     15
A4     16     17     18     19     20
A5     21     22     23     24     25


chciał bym teraz jedną funkcją zinterpretować plik jako dwuwymiarową tablicę $tablica[$linia][$tab] ale nie bardzo wiem, jak w pętli przekazać tablicę do tablicy.
  1. function _fileToArray($file, $delimeter) {
  2. $handle = file($file);
  3. $count = count($handle);
  4. for ($line = 0; $line < $count; $line++) {
  5. $cell = split($delimeter,$handle[$line]);
  6. $handle[$line] = $cell;
  7. }
  8. return $handle;
  9. }


proszę o pomoc.
Pilsener
Tablica to para klucz->wartość. Klucz musisz sobie wybrać, zakładam, że będzie to kolumna nr 1, natomiast pozostałe kolumny znajdą się w tablicy umieszczonej pod tym kluczem:
  1. $uchwyt = fopen($pliczek,'r'); //otwieramy plik
  2. while(!feof($uchwyt)){ //parsujemy linia po linii
  3. $linia = rtrim(fgets($uchwyt)); //pobieramy linię z pliku
  4. $t_linia = explode(" ",$linia); //tworzymy z niej tablicę wg spacji
  5. $klucz = array_shift ($t_linia); //zdejmujemy z tablicy pierwszy element, który będzie kluczem/indeksem nowej tablicy
  6. $nowa_tablica[$klucz] = $t_linia; //tworzymy nową tablicę
  7. }
  8. fclose($uchwyt);
  9. print_r($nowa_tablica);


Powinno działać, nie wiem jak masz zorganizowane dane w pliku, założyłem, że oddziela je spacja.
~dNkN!
wow, imponujące. nie dosyć, że działa to jeszcze zrozumiałem o co chodzi.

dziękuje za pomoc, działa.
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.