strstr() w PHP
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Co to jest strstr() w PHP?
strstr() to funkcja PHP służąca do sprawdzania, czy jeden ciąg znaków występuje jako część innego ciągu. Funkcja wyszukuje podany fragment tekstu i zwraca część napisu od miejsca znalezienia szukanego fragmentu do końca.
Składnia
strstr(string $haystack, string $needle): string|false
$haystack- tekst, w którym szukamy,$needle- tekst, którego szukamy.
Jeśli fragment zostanie znaleziony, funkcja zwraca tekst od pierwszego wystąpienia szukanego ciągu. Jeśli nie zostanie znaleziony, zwraca false.
Przykład
$tekst = "Egzamin INF.03 z PHP";
if (strstr($tekst, "PHP")) {
echo "Znaleziono ciąg PHP";
} else {
echo "Nie znaleziono ciągu PHP";
}
W tym przykładzie funkcja wykryje, że napis PHP jest częścią większego tekstu.
Ważne na egzaminie
strstr() sprawdza występowanie fragmentu tekstu w innym tekście. W pytaniach egzaminacyjnych często pojawia się obok podobnie wyglądających funkcji:
trim()- usuwa białe znaki z początku i końca tekstu,strtok()- dzieli tekst na tokeny według separatora,strlen()- zwraca długość tekstu,strstr()- wyszukuje fragment tekstu w innym tekście.
Uwaga praktyczna
Do samego sprawdzania, czy fragment istnieje, często używa się też strpos(), ponieważ zwraca pozycję znalezionego tekstu. Trzeba jednak pamiętać, że pozycja 0 oznacza znalezienie tekstu na początku, dlatego należy porównywać wynik z false operatorem !==.
if (strpos($tekst, "PHP") !== false) {
echo "Znaleziono";
}