Tablice to jedno z najważniejszych narzędzi w PHP, umożliwiające przechowywanie wielu wartości w jednej zmiennej. Wyróżniamy tablice jednowymiarowe, asocjacyjne oraz wielowymiarowe.
Tworzenie tablicy jednowymiarowej
Tablicę można zadeklarować na kilka sposobów:
// Pusta tablica
$tablica = array();
// Tablica z wartościami
$tablica = array(1, 2, 3, 4, 5);
Dostęp do elementów tablicy odbywa się poprzez indeksy:
echo $tablica[0]; // Wypisze 1
echo $tablica[3]; // Wypisze 4
Iteracja po tablicy
Aby przejść przez wszystkie elementy tablicy, możemy użyć pętli for lub foreach:
// Pętla for
for($i = 0; $i < count($tablica); $i++) {
echo $tablica[$i] . " ";
}
Pętla foreach
foreach ($tablica as $wartosc) {
echo $wartosc . " ";
}
Tablice asocjacyjne
Tablice asocjacyjne pozwalają przypisywać wartości do kluczy zamiast indeksów liczbowych.
$pracownicy = array(
"szef" => "Nowak",
"sekretariat" => "Kowalski",
"biuro" => "Barański"
);
echo $pracownicy["szef"]; // Wypisze "Nowak"
Iteracja po tablicy asocjacyjnej:
foreach ($pracownicy as $stanowisko => $nazwisko) {
echo "$stanowisko: $nazwisko <br>";
}
Operacje na tablicach
PHP oferuje wiele funkcji do zarządzania tablicami:
$owoce = array("jabłko", "gruszka");
// Dodawanie elementów
array_push($owoce, "banan", "malina"); // Array("jabłko", "gruszka", "banan", "malina")
// Usuwanie ostatniego elementu
array_pop($owoce); // Array("jabłko", "gruszka", "banan")
// Usuwanie pierwszego elementu
array_shift($owoce); // Array("gruszka", "banan")
// Dodawanie elementów na początek
array_unshift($owoce, "ananas", "cytryna"); // Array("ananas", "cytryna", "gruszka", "banan")
// Losowe przetasowanie tablicy
shuffle($owoce); // Kolejność losowa np. Array("gruszka", "banan", "cytryna", "ananas")
// Sortowanie alfabetyczne
sort($owoce); // Array("ananas", "banan", "cytryna", "gruszka")
Tablice wielowymiarowe
Tablice wielowymiarowe to tablice zawierające inne tablice.
$tablica2D = array();
for($i = 0; $i < 3; $i++) {
for($j = 0; $j < 3; $j++) {
$tablica2D[$i][$j] = $i + $j;
}
}
Wypisanie zawartości tablicy wielowymiarowej:
for($i = 0; $i < 3; $i++) {
for($j = 0; $j < 3; $j++) {
echo $tablica2D[$i][$j] . " ";
}
echo "<br>";
}
// Efekt działania:
// 0 1 2
// 1 2 3
// 2 3 4