Wyszukiwanie wartości spełniających warunek (array_filter)

Założenie: Stworzymy funkcję, która przefiltruję tablicę produktów, zwracając tylko te, które są przecenione.

Krok po kroku:

  1. Tworzymy tablicę produktów: Każdy produkt jest tablicą asocjacyjną z kluczami “nazwa” i “cena” oraz “przecena” (true/false).
  2. 
    $produkty = [
        ['nazwa' => 'Produkt A', 'cena' => 100, 'przecena' => true],
        ['nazwa' => 'Produkt B', 'cena' => 50, 'przecena' => false],
        ['nazwa' => 'Produkt C', 'cena' => 75, 'przecena' => true],
        ['nazwa' => 'Produkt D', 'cena' => 150, 'przecena' => false],
    ];
    				
  3. Tworzymy funkcję callback do `array_filter`: Funkcja ta przyjmuje jeden argument (element tablicy) i zwraca `true`, jeśli produkt jest przeceniony, `false` w przeciwnym wypadku.
  4. 
    function jestPrzeceniony($produkt) {
        return $produkt['przecena'];
    }
    				
  5. Używamy `array_filter` do przefiltrowania tablicy: Funkcja `array_filter` przyjmuje tablicę i funkcję callback jako argumenty. Zwraca nową tablicę zawierającą tylko elementy, dla których funkcja callback zwróciła `true`.
  6. 
    $produktyPrzecenione = array_filter($produkty, 'jestPrzeceniony');
    				
  7. Wyświetlamy wynik: Pętla `foreach` wyświetla nazwy przecenionych produktów.
  8. 
    echo "Przecenione produkty:\n";
    foreach ($produktyPrzecenione as $produkt) {
        echo $produkt['nazwa'] . "\n";
    }
    				

Ten przykład pokazuje podstawowe zastosowanie funkcji `array_filter`. Zachęcamy do eksperymentowania z różnymi funkcjami callback, aby filtrować tablice według różnych kryteriów.

Dodaj komentarz 0

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