Dotychczas każda zmienna przechowywała tylko jedną wartość (np. $imie = "Anna"). Co jednak, jeśli chcemy przechować listę imion, listę produktów w koszyku albo listę wyników z ankiety?
Tablica (Array) to specjalny rodzaj zmiennej, która może przechowywać wiele wartości jednocześnie, uporządkowanych w jednej strukturze.
1. Tablice Indeksowane (Listy)
To najprostszy rodzaj tablicy. Działa jak lista, w której każdy element ma przypisany kolejny numer, zwany indeksem.
Ważne: W programowaniu liczenie prawie zawsze zaczyna się od zera! Pierwszy element ma indeks 0, drugi 1, trzeci 2 i tak dalej.
Tworzenie tablicy: Używamy nawiasów kwadratowych [].
Przykład: Stwórzmy plik tablice.php.
<?php
// Tworzenie tablicy indeksowanej
$owoce = ["Jabłko", "Banan", "Pomarańcza", "Truskawka"];
// Dostęp do poszczególnych elementów
echo "Pierwszy owoc (indeks 0): " . $owoce[0]; // Wynik: Jabłko
echo "<br>";
echo "Trzeci owoc (indeks 2): " . $owoce[2]; // Wynik: Pomarańcza
echo "<br>";
// Dodawanie nowego elementu na koniec tablicy
$owoce[] = "Malina";
// Wyświetlanie całej struktury tablicy (świetne do debugowania)
// Nie można użyć 'echo' do wyświetlenia całej tablicy!
print_r($owoce);
?>Funkcja print_r() pozwala nam zobaczyć całą zawartość i strukturę tablicy, co jest niezwykle pomocne.
2. Pętla foreach – Idealna do Tablic
Jak wyświetlić wszystkie owoce z naszej tablicy? Moglibyśmy użyć pętli for, ale istnieje znacznie lepszy, czytelniejszy i bezpieczniejszy sposób: pętla foreach.
Pętla foreach automatycznie przechodzi przez każdy element tablicy, od pierwszego do ostatniego.
Składnia: foreach ($twojaTablica as $pojedynczyElement) { // kod do wykonania }
Przykład: Wyświetlmy nasze owoce jako listę HTML.
<?php
$owoce = ["Jabłko", "Banan", "Pomarańcza", "Truskawka"];
echo "<h2>Moja lista owoców:</h2>";
echo "<ul>";
foreach ($owoce as $owoc) {
echo "<li>$owoc</li>";
}
echo "</ul>";
?>Jak to działa? Pętla foreach bierze tablicę $owoce. W pierwszym „okrążeniu” przypisuje wartość "Jabłko" do tymczasowej zmiennej $owoc i wykonuje kod. W drugim okrążeniu przypisuje "Banan" do $owoc i znów wykonuje kod, i tak aż do końca tablicy.
3. Tablice Asocjacyjne (Słowniki)
Co jeśli numeryczne indeksy nam nie wystarczą? Tablice asocjacyjne pozwalają używać własnych, tekstowych nazw dla indeksów, zwanych kluczami. Działają jak słownik lub książka telefoniczna.
Składnia: $tablica = ['klucz1' => 'wartość1', 'klucz2' => 'wartość2'];
Przykład: Stwórzmy tablicę opisującą użytkownika.
<?php
$uzytkownik = [
'imie' => 'Jan',
'nazwisko' => 'Kowalski',
'wiek' => 34,
'miasto' => 'Warszawa'
];
// Dostęp do danych za pomocą kluczy
echo "Użytkownik " . $uzytkownik['imie'] . " ma " . $uzytkownik['wiek'] . " lat.";
echo "<br>";
// Iterowanie po tablicy asocjacyjnej
echo "<h3>Dane użytkownika:</h3>";
foreach ($uzytkownik as $klucz => $wartosc) {
echo "<strong>$klucz</strong>: $wartosc <br>";
}
?>Zwróć uwagę na lekko zmienioną składnię foreach. Używając $klucz => $wartosc, zyskujemy dostęp zarówno do klucza (np. 'imie’), jak i do przypisanej mu wartości (np. 'Jan’).
Podsumowanie
Opanowałeś właśnie tablice – jedno z najważniejszych narzędzi w arsenale programisty. Pozwalają one na pracę z całymi zbiorami danych w uporządkowany sposób.
- Tablice indeksowane używają indeksów liczbowych (0, 1, 2…). Są jak proste listy.
- Tablice asocjacyjne używają nazwanych kluczy. Są jak słowniki lub zbiory właściwości.
- Pętla
foreachjest najwygodniejszym sposobem na przeglądanie zawartości każdej tablicy.