Który zapis tworzy w PHP tablicę ASOCJACYJNĄ (z kluczami) i przypisuje ją do zmiennej?
A.
$tab = array(); $tab[] = array(1, 2, 3, 4);
Źle. To dodanie tablicy jako elementu - też bez kluczy tekstowych.
B.
$tab = array(array(1, 2), array(3, 4));
Źle. To tablica dwuwymiarowa (tablice w tablicy), nie asocjacyjna.
C.
$tab = array("a" => 1, "b" => 2, "c" => 3);
Dobrze. Klucze
"a", "b", "c" tworzą tablicę asocjacyjną.D.
$tab = array(1, 2, 3, 4);
Źle. To tablica indeksowana liczbowo, bez własnych kluczy.
Tablicę asocjacyjną w PHP tworzy się, podając pary klucz
=> wartość: $tab = array("a" => 1, "b" => 2, "c" => 3);. Każdy element ma wtedy własny, nazwany klucz, po którym się do niego odwołujemy. Dlatego ten zapis jest poprawny.Pozostałe zapisy tworzą inne struktury.
array(1, 2, 3, 4) to tablica zwykła (klucze 0-3 nadane automatycznie). Zagnieżdżone array(array(1,2), array(3,4)) oraz dopisywanie $tab[] = array(...) budują tablicę wielowymiarową, a nie asocjacyjną. Klucze tekstowe nadaje dopiero zapis z =>.