Czym są tablice?
Tablice (arrays) to struktury danych, które pozwalają przechowywać wiele wartości pod jedną zmienną. Każdy element tablicy ma przypisany unikalny indeks, który umożliwia dostęp do danego elementu. PHP obsługuje trzy główne typy tablic:
- Tablice indeksowane numerycznie – elementy mają indeksy liczbowe (zaczynające się od 0),
- Tablice asocjacyjne – indeksami są klucze tekstowe,
- Tablice wielowymiarowe – tablice, które zawierają inne tablice jako swoje elementy.
Tablice indeksowane numerycznie
Tablice indeksowane numerycznie to najprostszy rodzaj tablic. Elementy są automatycznie indeksowane liczbami całkowitymi, zaczynając od 0.
Przykład:
<?php $owoce = array("jabłko", "banan", "gruszka"); echo $owoce[0]; // Wyświetli: jabłko echo $owoce[1]; // Wyświetli: banan echo $owoce[2]; // Wyświetli: gruszka ?>
Możemy dodać nowy element do tablicy w dowolnym momencie, przypisując wartość do nowego indeksu:
<?php $owoce[] = "pomarańcza"; // Dodaje nowy element na końcu tablicy ?>
Tablice indeksowane można także tworzyć, przypisując wartości do konkretnych indeksów:
<?php $liczby[0] = 10; $liczby[1] = 20; $liczby[2] = 30; echo $liczby[1]; // Wyświetli: 20 ?>
Iteracja po tablicach indeksowanych
Aby przejść przez wszystkie elementy tablicy, możemy użyć pętli foreach
lub pętli for
.
Przykład z foreach
:
<?php $owoce = array("jabłko", "banan", "gruszka"); foreach ($owoce as $owoc) { echo "Lubię $owoc<br>"; } ?>
Przykład z for
:
<?php $owoce = array("jabłko", "banan", "gruszka"); $długość = count($owoce); // Funkcja count() zwraca liczbę elementów w tablicy for ($i = 0; $i < $długość; $i++) { echo "Lubię " . $owoce[$i] . "<br>"; } ?>
Tablice asocjacyjne
Tablice asocjacyjne różnią się od indeksowanych tym, że zamiast liczb, jako klucze wykorzystują ciągi znaków. Pozwala to na bardziej intuicyjne przypisywanie wartości.
Przykład:
<?php $dane = array( "imie" => "Jan", "nazwisko" => "Kowalski", "wiek" => 30 ); echo $dane["imie"]; // Wyświetli: Jan echo $dane["nazwisko"]; // Wyświetli: Kowalski ?>
Dodawanie nowych elementów do tablicy asocjacyjnej wygląda podobnie jak w tablicach indeksowanych:
<?php $dane["miasto"] = "Warszawa"; ?>
Iteracja po tablicach asocjacyjnych
Podobnie jak w przypadku tablic indeksowanych, możemy użyć pętli foreach
do iteracji po elementach tablicy asocjacyjnej, jednak w tym przypadku uzyskujemy zarówno klucz, jak i wartość.
Przykład:
<?php $dane = array( "imie" => "Jan", "nazwisko" => "Kowalski", "wiek" => 30 ); foreach ($dane as $klucz => $wartość) { echo "$klucz: $wartość<br>"; } ?>
Wynik:
imie: Jan nazwisko: Kowalski wiek: 30
Tablice wielowymiarowe
Tablice wielowymiarowe to tablice, które zawierają inne tablice jako swoje elementy. Są one używane do przechowywania bardziej złożonych struktur danych.
Przykład tablicy dwuwymiarowej:
<?php $studenci = array( array("Jan", "Kowalski", 22), array("Anna", "Nowak", 21), array("Piotr", "Wiśniewski", 23) ); echo $studenci[0][0]; // Wyświetli: Jan echo $studenci[1][1]; // Wyświetli: Nowak echo $studenci[2][2]; // Wyświetli: 23 ?>
Każdy element głównej tablicy $studenci
jest inną tablicą, co pozwala na tworzenie bardziej złożonych struktur danych. Aby przejść przez wszystkie elementy tablicy wielowymiarowej, możemy zagnieździć pętle.
Przykład iteracji po tablicy dwuwymiarowej:
<?php $studenci = array( array("Jan", "Kowalski", 22), array("Anna", "Nowak", 21), array("Piotr", "Wiśniewski", 23) ); foreach ($studenci as $student) { foreach ($student as $dane) { echo $dane . " "; } echo "<br>"; } ?>
Wynik:
Jan Kowalski 22 Anna Nowak 21 Piotr Wiśniewski 23
Przydatne funkcje do pracy z tablicami
PHP oferuje wiele funkcji, które ułatwiają pracę z tablicami. Oto kilka z najważniejszych:
count()
: Zwraca liczbę elementów w tablicy.
<?php $owoce = array("jabłko", "banan", "gruszka"); echo count($owoce); // Wyświetli: 3 ?>
array_merge()
: Łączy dwie lub więcej tablic w jedną.
<?php $tablica1 = array("jabłko", "banan"); $tablica2 = array("gruszka", "pomarańcza"); $połączone = array_merge($tablica1, $tablica2); print_r($połączone); ?>
Wynik:
Array ( [0] => jabłko [1] => banan [2] => gruszka [3] => pomarańcza )
in_array()
: Sprawdza, czy wartość znajduje się w tablicy.
<?php $owoce = array("jabłko", "banan", "gruszka"); if (in_array("jabłko", $owoce)) { echo "Jabłko jest w tablicy!"; } ?>
array_keys()
: Zwraca wszystkie klucze z tablicy asocjacyjnej.
<?php $dane = array("imie" => "Jan", "nazwisko" => "Kowalski", "wiek" => 30); $klucze = array_keys($dane); print_r($klucze); ?>
Wynik:
Array ( [0] => imie [1] => nazwisko [2] => wiek )
W tej lekcji poznaliśmy różne rodzaje tablic, ich zastosowania oraz podstawowe operacje na tablicach w PHP. Tablice są fundamentalnym elementem programowania w PHP, a ich zrozumienie pozwoli Ci na efektywniejszą pracę z danymi.
Gratulacje! Ukończyłeś lekcję 4.
Przejdź teraz do lekcji 5 >> Dodatkowe podstawy funkcji w PHP
Spis Treści - darmowy kurs PHP
Wprowadzenie: Instalacja środowiska PHP
Lekcja 1: Podstawy składni PHP
Lekcja 2: Funkcje i instrukcje warunkowe w PHP
Lekcja 3: Pętle w PHP
Lekcja 4: Tablice w PHP
Lekcja 5: Dodatkowe podstawy funkcji w PHP
Lekcja 6: Praca z formularzami HTML w PHP
Lekcja 7: Obsługa plików w PHP
Lekcja 8: Sesje i ciasteczka w PHP
Lekcja 9: Podstawy operacji na bazach danych MySQL z PHP
Lekcja 10: Prepared Statements w PHP i bezpieczeństwo aplikacji
Lekcja 11: Zarządzanie użytkownikami – rejestracja, logowanie i autoryzacja w PHP
Lekcja 12: Wzorce projektowe w PHP – wprowadzenie do wzorca MVC
Lekcja 13: Zaawansowane techniki pracy z bazami danych w PHP
Lekcja 14: Testowanie jednostkowe w PHP z PHPUnit
Lekcja 15: Tworzenie i korzystanie z API RESTful w PHP
Lekcja 16: Obsługa plików JSON i XML w PHP
Dodatki
- Spis najważniejszych funkcji PHP