Żeby odwołać się do elementu tablicy potrzebujemy dwóch rzeczy: tablicy i klucza.
$tablica = [1, 2, 3, 4]
$tablica[0] // to zwróci nam element, który jest pod indeksem 0
$tablica = [ "klucz" => 1 ];
$tablica["klucz"] // to zwróci nam element, który przypisany do klucza "klucz"
Zasada działania przy tablicy zagnieżdzonej jest identyczna.
$tablicaZagniezdzona = [ [ 1 ] ];
// najpierw pobieramy pierwszy element tablicy zewnętrznej
$tablicaWewnetrzna = $tablica[0];
// pod $tablica[0] jest [ 1 ], wiec zmienna $tablicaWewnetrzna zawiera teraz pojedyncza tablice [ 1 ];
$tablicaWewnetrzna[0] // to zwroci nam element, który jest pod indeksem 0
Interpreter PHP czyta sobie takie wyrażenie od lewej do prawej, więc zamiast odczytywać wewnętrzny element w dwóch krokach, z przypisaniem do zmiennej pośredniej ($tablicaWewnetrzna
), to możemy to zrobić w jednym kroku
$tablicaZagniezdzona = [ [ 1 ] ];
$tablicaZagniezdzona[0][0] // // to zwroci nam 1
^^^^^^^^^^^^^^^^^^^^^^^
// Ponieważ interpreter wykonuje sobie od lewej do prawej, to najpierw
// wykona pierwsze wyrazenie $tablicaZagniezdzona[0], które zwróci tablicę wyglądającą tak: [1]
// a pozniej zrobi [1][0]
$tablicaZagniezdzona = [ [ [ 1, 2, 3] ] ];
$tablicaZagniezdzona[0][0][0]
// kroki są takie:
//$tablicaZagniezdzona od 0 to [ [ 1, 2, 3] ]
// [ [ 1, 2, 3] ] od 0 to [ 1, 2, 3]
// [ 1, 2, 3] od 0 to 1
Rozpisz sobie twóje pobieranie elementu na trzy kroki, to znajdziesz błąd.