Wyszukiwanie wartości z uwzględnieniem wielkości liter (wyszukiwanie Case-insensitive)
Założenie: Chcemy sprawdzić, czy dana wartość istnieje w tablicy, niezależnie od tego, czy jest napisana wielkimi, czy małymi literami.
Krok po kroku:
- Tworzymy tablicę z przykładowymi nazwami produktów:
- Definiujemy szukaną wartość (bez uwzględniania wielkości liter):
- Przeszukujemy tablicę z użyciem funkcji `in_array()` i parametru `$strict = false`:
$produkty = ["Laptop", "Mysz", "Klawiatura", "Monitor"];
Tworzymy tablicę asocjacyjną o nazwie $produkty
, przechowującą nazwy produktów.
$szukanaWartosc = "laptop";
Zmienna $szukanaWartosc
przechowuje wartość, którą chcemy znaleźć w tablicy. Zwróć uwagę, że jest ona napisana małymi literami.
$znaleziono = in_array(strtolower($szukanaWartosc), array_map('strtolower', $produkty), false);
if ($znaleziono) {
echo "Wartość '$szukanaWartosc' znaleziona w tablicy.";
} else {
echo "Wartość '$szukanaWartosc' nie znaleziona w tablicy.";
}
Funkcja in_array()
sprawdza, czy wartość istnieje w tablicy. strtolower()
konwertuje ciągi znaków na małe litery, aby porównanie było bez uwzględniania wielkości liter. array_map('strtolower', $produkty)
stosuje funkcję strtolower()
do każdego elementu tablicy $produkty
. Parametr `false` w `in_array()` zapewnia, że porównanie jest typu “loose” (nie ścisłe), ignorując różnice w wielkości liter.
Ten przykład pokazuje, jak łatwo wyszukać wartość w tablicy PHP bez uwzględniania wielkości liter. Zachęcamy do eksperymentowania z różnymi wartościami i tablicami, aby lepiej zrozumieć działanie funkcji in_array()
.