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:

  1. Tworzymy tablicę zagnieżdżoną reprezentującą produkty:
  2. 
    $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.

  3. Przeszukujemy tablicę za pomocą pętli zagnieżdżonych:
  4. 
    $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.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *