Bajo.pl PHP & MySQL Pomoc Cz@t Poczta
 Strona główna
 Newsy
 Kurs PHP
 Kurs MySQL
 Skrypty
 Download
 Księga gości
 O mnie

 Kurs PHP
 Kurs MySQL

Skrypty:

 Graficzny licznik
 Sonda poll
 Statystyki istat
 BlazeBoard PL
 Phorum 3.2.11
inne ->   

Statystyki:

Kurs PHP 
TABLICE WIELOWYMIAROWE

Tablice wielowymiarowe mogą przechowywać więcej niż jeden rząd danych. Za pomocą takiej tablicy możesz opisać tabelkę składającą się z kolumn i rzędów:

<?
# rząd pierwszy (1)
$tablica[0][0] = "pole 1-1";
$tablica[0][1] = "pole 1-2";
$tablica[0][2] = "pole 1-3";

# rząd drugi (2)
$tablica[1][0] = "pole 2-1";
$tablica[1][1] = "pole 2-2";
$tablica[1][2] = "pole 2-3";

# rząd trzeci (3)
$tablica[2][0] = "pole 3-1";
$tablica[2][1] = "pole 3-2";
$tablica[2][2] = "pole 3-3";
?>

Tablice wielowymiarowe są po prostu tablicami jednowymiarowymi, w których w jednym z elementów umieszczono nie wartość liczbową czy tekstową, a inną tablicę. Tablica z powyższego przykładu ma następującą strukturę (funkcja print_r()):

Array
(
   [0] => Array
     (
       [0] => pole 1-1
       [1] => pole 1-2
       [2] => pole 1-3
     )

   [1] => Array
     (
       [0] => pole 2-1
       [1] => pole 2-2
       [2] => pole 2-3
     )

   [2] => Array
     (
       [0] => pole 3-1
       [1] => pole 3-2
       [2] => pole 3-3
     )

)

Można uczynić deklarację takiej tablicy bardziej czytelną, nazywając indeksy rzędów za pomocą liter A, B, i C:

<?
# rząd pierwszy (A)
$tablica[A][0] = "pole A1";
$tablica[A][1] = "pole A2";
$tablica[A][2] = "pole A3";

# rząd drugi (B)
$tablica[B][0] = "pole B1";
$tablica[B][1] = "pole B2";
$tablica[B][2] = "pole B3";

# rząd trzeci (C)
$tablica[C][0] = "pole C1";
$tablica[C][1] = "pole C2";
$tablica[C][2] = "pole C3";
?>

Struktura takiej tablicy wygląda podobnie, ale rzędy nazywane są odpowiednio A, B i C:

Array
(
   [A] => Array
     (
       [0] => pole A1
       [1] => pole A2
       [2] => pole A3
     )

   [B] => Array
     (
       [0] => pole B1
       [1] => pole B2
       [2] => pole B3
     )

   [C] => Array
     (
       [0] => pole C1
       [1] => pole C2
       [2] => pole C3
     )

)

Jak widać na powyższym przykładzie w PHP można w tablicach wielowymiarowych używać zamiennie indeksów liczbowych i tekstowych. Takie podejście znacznie poprawia czytelność kodu.

Można również tworzyć tablice o większej liczbie wymiarów:

<?
$tablica[A][0][I] = "pole A1 I";
$tablica[A][0][II] = "pole A1 II";
$tablica[A][1][I] = "pole A2 I";
$tablica[A][1][II] = "pole A2 II";

$tablica[B][0][I] = "pole b1 I";
$tablica[B][0][II] = "pole B1 II";
$tablica[B][1][I] = "pole B2 I";
$tablica[B][1][II] = "pole B2 II";
?>

Struktura przykładowej trójwymiarowej tablicy wygląda następująco:

Array
(
   [A] => Array
     (
       [0] => Array
         (
           [I] = > Pole A1 I
           [II] = > Pole A1 II
         )

       [1] => Array
         (
           [I] = > Pole A1 I
           [II] = > Pole A1 II
         )
     )

   [B] => Array
     (
       [0] => Array
         (
           [I] = > Pole B1 I
           [II] = > Pole B1 II
         )

       [1] => Array
         (
           [I] = > Pole B1 I
           [II] = > Pole B1 II
         )
     )


)



TEMATY:
 Tablice
 Tablice jednowymiarowe
 Tablice wielowymiarowe

 Spis treści
[poprzedni temat - Tablice jednowymiarowe]

© copyright 2001 by Bartosz Maciaszek. Wszelkie prawa zastrzeżone.