Wyszukiwanie wartości w tablicach zagnieżdżonych z użyciem pętli (iteracja wielowymiarowa)
Założenie: Nauczymy się, jak iteracyjnie przeszukiwać tablice zagnieżdżone w PHP, aby znaleźć konkretną wartość. Przykładowo, będziemy przeglądać listę produktów zorganizowaną w kategoriach i podkategoriach.
Krok po kroku:
- Tworzymy tablicę zagnieżdżoną reprezentującą produkty:
- Przeszukujemy tablicę za pomocą pętli zagnieżdżonych:
$produkty = [
"Elektronika" => [
"Komputery" => [
["nazwa" => "Laptop A", "cena" => 1500],
["nazwa" => "Laptop B", "cena" => 2000]
],
"Telefony" => [
["nazwa" => "Telefon X", "cena" => 800],
["nazwa" => "Telefon Y", "cena" => 1000]
]
],
"Ubrania" => [
"Koszulki" => [
["nazwa" => "Koszulka C", "cena" => 50],
["nazwa" => "Koszulka D", "cena" => 60]
]
]
];
Tworzymy tablicę asocjacyjną, gdzie klucze reprezentują kategorie i podkategorie, a wartości to tablice z informacjami o produktach.
$szukanaNazwa = "Laptop B";
$znaleziono = false;
foreach ($produkty as $kategoria => $podkategorie) {
foreach ($podkategorie as $podkategoria => $produktyWPodkategorii) {
foreach ($produktyWPodkategorii as $produkt) {
if ($produkt["nazwa"] == $szukanaNazwa) {
echo "Znaleziono produkt: " . $produkt["nazwa"] . " w kategorii: " . $kategoria . ", podkategoria: " . $podkategoria . "
";
$znaleziono = true;
break 3; // Zatrzymujemy pętle po znalezieniu produktu
}
}
}
}
if (!$znaleziono) {
echo "Produkt nie został znaleziony.";
}
Pętle `foreach` iterują po tablicy. Warunek `if` sprawdza, czy nazwa produktu odpowiada szukanej nazwie. `break 3;` przerywa wszystkie trzy pętle po znalezieniu produktu.
Ten przykład pokazuje podstawy iteracyjnego przeszukiwania tablic zagnieżdżonych w PHP. Zachęcamy do eksperymentowania z różnymi strukturami danych i warunkami wyszukiwania, aby lepiej zrozumieć ten mechanizm.