Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Ilość kolumn w wierszu array
Forum PHP.pl > Forum > Przedszkole
.Wojtek
Poniżej widać kod, który odczytuje dane z pliku tekstowego i wgrywa je do tablicy:
  1. $filename = "wspolrzedne_numery_dzialek.txt";
  2. $handle = fopen($filename, "r");
  3. $tab_wsp = array();
  4. if ($handle) {
  5. while (!feof($handle)) {
  6. $buffer = fgets($handle, 4096);
  7. $tab_wsp[]=explode(" ", $buffer);
  8. }
  9. fclose($handle);
  10. } else {
  11. die("Błąd otwierania pliku");
  12. }

Dane w pliku tekstowym wyglądają następująco:
Kod
3721123.08    5576123.085    158/7
3722123.952    5577123.532    468/3
3721123.972    5576123.089    162/3

Skrypt wgrywa dane do array jeśli dane są oddzielone tabulatorem.
Jak natomiast wgrać dane w takim formacie:

liczby X,Y X,Y X,Y X,Y X,Y X,Y X,Y X,Y X,Y np.
Kod
123,234 273,223 538,238 237,213 414,133
193,273 283,842 294,382

Czyli mamy dwa główne wiersze, będące osobnymi array. Potem w każdym z wierszy mamy po kilka par liczb (X i Y) oddzielonych między parami spacją, a między sobą przecinkiem. Chciałbym uzyskać coś takiego:

Kod
Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => 123
                    [1] => 234
                )

            [1] => Array
                (
                    [0] => 273
                    [1] => 223
                )

            [2] => Array
                (
                    [0] => 538
                    [1] => 238
                )

            [3] => Array
                (
                    [0] => 237
                    [1] => 213
                )

            [4] => Array
                (
                    [0] => 414
                    [1] => 133
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => 193
                    [1] => 273
                )

            [1] => Array
                (
                    [0] => 283
                    [1] => 842
                )

            [2] => Array
                (
                    [0] => 294
                    [1] => 382
                )

        )

)
jacobson
Najpierw musisz zrobic explode po znaku nowej linii "\n", nastepnie po "," zeby miec wszystkie rekordy poukladane. Zeby je poustawiac "dwójkami" przyda Ci sie funkcja array_chunk smile.gif
.Wojtek
Tu znalazłem odpowiedź:

http://pl1.php.net/explode#99167
.Wojtek
Poniższa tablica ma 2 główne podziały i pierwszy podział ma kolejnych 5, a drugi ma trzy. Jak pozyskać te liczby? Liczbę wierszy uzyskuje się komendą count, ale jak uzyskać ilość, tak jakby kolumn w danym wierszu? (zdaję sobie sprawę, że mówienie tutaj o wierszach i kolumnach jest nie na miejscu, ale chyba wiecie o co mi chodzi).
Kod
Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => 123
                    [1] => 234
                )

            [1] => Array
                (
                    [0] => 273
                    [1] => 223
                )

            [2] => Array
                (
                    [0] => 538
                    [1] => 238
                )

            [3] => Array
                (
                    [0] => 237
                    [1] => 213
                )

            [4] => Array
                (
                    [0] => 414
                    [1] => 133
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => 193
                    [1] => 273
                )

            [1] => Array
                (
                    [0] => 283
                    [1] => 842
                )

            [2] => Array
                (
                    [0] => 294
                    [1] => 382
                )

        )

)
SmokAnalog
Chodzi Ci o coś takiego?

  1. $columns = array_map(
  2. function ($row) {
  3. return count($row);
  4. },
  5. $array
  6. );


Zakładając, że $array to Twoja tablica wejściowa.
Crozin
  1. $a = count($myArray[0]);
  2. $b = count($myArray[1]);
?
Kshyhoo
Jeden wątek wystarczy, łączę tematy.
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.