Case-insensitive comparison z strcasecmp()
Założenie: Stworzymy prostą wyszukiwarkę, która będzie ignorować wielkość liter podczas porównywania wprowadzonego tekstu z listą słów.
Krok po kroku:
- Tworzymy listę słów:
- Pobieramy tekst od użytkownika:
- Przeszukujemy listę słów:
$slowa = ["PHP", "JavaScript", "Python", "Java"];
Tworzymy tablicę $slowa
zawierającą przykładowe słowa.
$szukanyTekst = strtolower($_GET['szukane']);
Pobieramy wartość parametru szukane
z adresu URL (np. `https://phpx.pl/case-insensitive-comparison-z-strcasecmp/?szukane=php`), zamieniamy go na małe litery za pomocą funkcji strtolower()
i zapisujemy do zmiennej $szukanyTekst
.
foreach ($slowa as $slowo) {
if (strcasecmp($szukanyTekst, strtolower($slowo)) == 0) {
echo "Znaleziono słowo: " . $slowo . "
";
break; // Zatrzymujemy wyszukiwanie po znalezieniu pierwszego dopasowania
}
}
Pętla foreach
iteruje po każdym słowie w tablicy $slowa
. Funkcja strcasecmp()
porównuje $szukanyTekst
(już w małych literach) z wersją małych liter aktualnego słowa z tablicy. Jeśli wartości są identyczne (zwraca 0), wypisujemy znalezione słowo i przerywamy pętlę za pomocą break
.
Ten przykład pokazuje, jak używać funkcji strcasecmp()
do case-insensitive comparison w PHP. Zachęcamy do eksperymentowania z różnymi tekstami i rozwijania tego przykładu!