Tablice wielowymiarowe


Tablice wielowymiarowe

Poprzednim tematem były tablice – bardzo praktyczna rzecz w programowaniu. Przechowywały one wartości pod przypisanymi indeksami. Czy istnieje możliwość przechowania całej tablicy jako jednej pozycji? Oczywiście, że tak! Mówimy wtedy o tablicy dwuwymiarowej. Można też stworzyć tablicę z tablic dwuwymiarowych – wtedy tablica ma trzy wymiary. Powszechnie jednak nie stosuje się tablic większych, niż dwa wymiary.

W jakich przypadkach stosujemy dwuwymiarowe tablice? Gdy chcemy w uporządkowany sposób przechowywać sestawy danych. Wyobraźmy sobie, że mamy klasę uczniów. Każdy uczeń ma imię, nazwisko, adres oraz datę urodzenia. Dane każdego z uczniów trzymamy w tablicy. Następnie każdą z tych tablic przypisujemy do indeksu tablicy głównej. Powstaje nam wtedy „tablica tablic”.

Zobaczmy przykład:

<?php

$tablica_ucznia[0] = "Janek";
$tablica_ucznia[1] = "Kowalski";
$tablica_ucznia[2] = "14-10-1995";

$tablica_klasy[0] = $tablica_ucznia;

$tablica_ucznia[0] = "Krzysiek";
$tablica_ucznia[1] = "Nowak";
$tablica_ucznia[2] = "24-12-1994";

$tablica_klasy[1] = $tablica_ucznia;

$tablica_ucznia[0] = "Ewa";
$tablica_ucznia[1] = "Kowalska";
$tablica_ucznia[2] = "17-03-1996";

$tablica_klasy[2] = $tablica_ucznia;

echo $tablica_klasy[1][0]; // powinno wyświetlić
                           // Krzysiek
?>

Zasada odwoływania się do indeksów jest podobna jak w przypadku jednowymiarowych tablic. Trzeba pamiętać, że wymiar tablicy liczymy od prawej. W naszym przykładzie indeks z prawej strony opisuje dane konkretnego ucznia, z lewej natomiast numer ucznia.

Trzeci wymiar

Można również nieco zmodyfikować przechowywanie danych, zbierając wszystkie tablice klas do jednej tablicy szkoły. Powstanie nam wtedy tablica trójwymiarowa. Idąc dalej tym tropem możemy kilka szkół wrzucić do jednej tablicy, np. szkoły podstawowe, tworząc cztery wymiary. Wtedy do imienia konkretnego ucznia w którejś klasie w jednej ze szkół odwołamy się tablica_szkol[2][3][5][0], gdzie 0 oznacza pierwsze pole w danych ucznia, czyli jego imię.

Potrafisz już stosować wielowymiarowe tablice. Wiesz już prawie wszystko o tablicach. Kolejnym tematem są tablice z definiowanymi indeksami. Zapraszam!

Spis lekcji w rozdziale trzecim

Poprzednia lekcja: Tablice Następna lekcja: Definiowanie indeksu tablicy

Kurs PHP i MySQL w formie wygodnego e-booka?

ZA DARMOPobieram kurs w formie e-booka