Opis: Zostaną omówione tablice w języku PHP, w tym tablice indeksowane i asocjacyjne oraz podstawowe funkcje tablicowe, takie jak count, array_push, array_pop, implode i explode, umożliwiające przechowywanie i efektywne przetwarzanie zbiorów danych.
W PHP tablice są strukturą danych służącą do przechowywania wielu wartości w jednej zmiennej. W przeciwieństwie do wielu innych języków, tablice w PHP są bardzo elastyczne - mogą przechowywać różne typy danych oraz działać zarówno jako klasyczne listy, jak i mapy (klucz -> wartość).
Wyróżnia się dwa podstawowe typy tablic:
tablice indeksowane - gdzie kluczami są liczby całkowite (indeksy),
tablice asocjacyjne - gdzie kluczami są nazwy (łańcuchy znaków).
<?php
$owoce = ["jabłko", "banan", "gruszka"];
echo $owoce[0]; // jabłko
echo $owoce[1]; // banan
?>Wyjaśnienie:
Tablica $owoce przechowuje listę wartości.
Indeksy są nadawane automatycznie i zaczynają się od 0.
Dostęp do elementów odbywa się przez indeks w nawiasach kwadratowych.
$owoce[0] oznacza pierwszy element tablicy.
<?php
$kolory = ["czerwony", "zielony", "niebieski"];
echo "<ul>";
for ($i = 0; $i < count($kolory); $i++) {
echo "<li>" . $kolory[$i] . "</li>";
}
echo "</ul>";
?>Użyta została pętla for, ponieważ pracujemy na indeksach liczbowych.
Funkcja count($kolory) zwraca liczbę elementów w tablicy.
Każdy element tablicy jest wyświetlany jako element listy HTML (<li>).
Całość jest opakowana w listę nieuporządkowaną <ul>.
<?php
$osoba = [
"imie" => "Jan",
"nazwisko" => "Kowalski",
"wiek" => 25
];
echo $osoba["imie"]; // Jan
echo $osoba["wiek"]; // 25
?>Tablica $osoba przechowuje dane w postaci par klucz -> wartość.
Klucze są tekstowe (np. "imie", "wiek").
Dostęp do danych odbywa się przez nazwę klucza, a nie indeks liczbowy.
Tego typu tablice są szczególnie przydatne do reprezentowania obiektów (np. użytkownika).
<?php
$uczen = [
"imie" => "Anna",
"nazwisko" => "Nowak",
"klasa" => "3A"
];
echo "<ul>";
foreach ($uczen as $klucz => $wartosc) {
echo "<li>" . $klucz . ": " . $wartosc . "</li>";
}
echo "</ul>";
?>Użyta została pętla foreach, która najlepiej nadaje się do tablic asocjacyjnych.
$klucz przechowuje nazwę pola (np. imie), a $wartosc jego wartość.
Każdy element jest wyświetlany w formacie: klucz: wartość.
Dane są prezentowane jako lista HTML (<ul> i <li>).
Cecha | Tablica indeksowana | Tablica asocjacyjna |
|---|---|---|
Klucze | liczby (0, 1, 2...) | tekst (np. "imie") |
Dostęp do elementu | $tablica[0] | $tablica["klucz"] |
Zastosowanie | listy danych | dane opisowe / struktury |
PHP oferuje wiele wbudowanych funkcji do operowania na tablicach. Umożliwiają one m.in. zliczanie elementów, dodawanie i usuwanie danych oraz konwersję między tablicą a łańcuchem znaków. Dzięki nim można w prosty sposób przetwarzać i manipulować danymi.
Przykład:
<?php
$owoce = ["jabłko", "banan", "gruszka"];
echo count($owoce); // 3
?>Funkcja count() zwraca liczbę elementów w tablicy.
W tym przypadku tablica ma 3 elementy, więc wynik to 3.
Przykład:
<?php
$owoce = ["jabłko", "banan"];
array_push($owoce, "gruszka");
print_r($owoce);
?>Funkcja array_push() dodaje jeden lub więcej elementów na koniec tablicy.
Po wykonaniu tablica zawiera: ["jabłko", "banan", "gruszka"].
Przykład:
<?php
$owoce = ["jabłko", "banan", "gruszka"];
array_pop($owoce);
print_r($owoce);
?>Funkcja array_pop() usuwa ostatni element tablicy.
W tym przypadku usunięta zostaje "gruszka".
Tablica po operacji: ["jabłko", "banan"].
Przykład:
<?php
$owoce = ["jabłko", "banan", "gruszka"];
$tekst = implode(", ", $owoce);
echo $tekst; // jabłko, banan, gruszka
?>Funkcja implode() łączy elementy tablicy w jeden łańcuch znaków.
Pierwszy argument to separator (np. przecinek i spacja).
Wynik to jeden tekst z połączonych elementów.
Przykład:
<?php
$tekst = "jabłko,banan,gruszka";
$owoce = explode(",", $tekst);
print_r($owoce);
?>Funkcja explode() dzieli tekst na części i tworzy z nich tablicę.
Pierwszy argument to separator (tu: przecinek).
Wynik to tablica: ["jabłko", "banan", "gruszka"].
Funkcja | Działanie |
|---|---|
count() | liczy elementy tablicy |
array_push() | dodaje element na koniec |
array_pop() | usuwa ostatni element |
implode() | zamienia tablicę na tekst |
explode() | zamienia tekst na tablicę |
Utwórz tablicę indeksowaną zawierającą 5 nazw miast.
Wyświetl wszystkie elementy tablicy jako listę HTML (<ul>), używając pętli for.
Oczekiwany rezultat:
Na stronie wyświetla się lista punktowana z 5 miastami, np.:
<ul>
<li>Szczecin</li>
<li>Warszawa</li>
<li>Kraków</li>
<li>Gdańsk</li>
<li>Poznań</li>
</ul>Utwórz tablicę z dowolnymi liczbami (min. 4 elementy).
Wyświetl:
wszystkie elementy tablicy,
liczbę elementów tablicy.
Oczekiwany rezultat:
Wyświetlone liczby oraz informacja o ich ilości, np.:
1 5 7 10
Liczba elementów: 4Utwórz tablicę z 3 produktami. Następnie:
dodaj element na koniec,
usuń ostatni element,
wyświetl tablicę po każdej operacji.
Oczekiwany rezultat:
Widoczne trzy stany tablicy, np.:
Początkowa: jabłko, banan, mleko
Po dodaniu: jabłko, banan, mleko, chleb
Po usunięciu: jabłko, banan, mlekoUtwórz tablicę asocjacyjną użytkownika (imię, nazwisko, wiek, miasto).
Wyświetl dane jako listę HTML (foreach).
Oczekiwany rezultat:
<ul>
<li>imie: Jan</li>
<li>nazwisko: Kowalski</li>
<li>wiek: 25</li>
<li>miasto: Szczecin</li>
</ul>Utwórz tablicę asocjacyjną (produkt -> cena).
Wyświetl tylko produkty droższe niż 50 zł.
Oczekiwany rezultat:
Wyświetlone tylko wybrane elementy, np.:
Laptop - 3000
Telefon - 1200Utwórz tablicę z 4 imionami i połącz je w jeden tekst oddzielony przecinkami.
Oczekiwany rezultat:
Jan, Anna, Piotr, MariaPodziel tekst:
$tekst = "PHP,JavaScript,Python,Java";na tablicę i wyświetl jako listę HTML.
Oczekiwany rezultat:
<ul>
<li>PHP</li>
<li>JavaScript</li>
<li>Python</li>
<li>Java</li>
</ul>Utwórz tablicę liczb.
Wykonaj:
dodanie elementu,
usunięcie elementu,
zliczenie elementów,
wyświetlenie listy HTML.
Oczekiwany rezultat:
poprawnie zmodyfikowana tablica,
poprawna liczba elementów,
lista HTML z aktualnymi wartościami.
<ul>
<li>2</li>
<li>4</li>
<li>6</li>
</ul>
Liczba elementów: 3Utwórz tablicę asocjacyjną (nazwa, cena, ilość).
Wyświetl dane oraz oblicz wartość (cena * ilość).
Oczekiwany rezultat:
Produkt: Laptop
Cena: 3000
Ilość: 2
Wartość: 6000© 2026 Piskorowski Jakub. All rights reserved.