Funktionen strpos
Funktionen strpos returnerar positionen
för första förekomsten av en delsträng i en annan sträng
eller false om delsträngen inte hittas.
Den första parametern tar funktionen emot strängen
där sökningen ska utföras, den andra parametern
- delsträngen som ska sökas efter.
Som standard söker funktionen från början av strängen till den första träffen. Startpunkten för sökningen kan justeras med en tredje valfri parameter - om den anges kommer sökningen att starta inte från början av strängen, utan från den angivna platsen.
Det finns också funktionen stripos, som
gör samma sak, men utan att skilja på stora och små bokstäver.
Syntax
strpos(string $haystack, string $needle, int $offset = 0): int|false
Exempel
I detta exempel kommer funktionen att returnera positionen för den första
förekomsten av 'c'. Den finns på position 2,
eftersom räkningen börjar från 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Resultat av kodkörning:
2
Exempel
I detta exempel är den tredje parametern angiven och
därför kommer sökningen att starta från den tredje positionen,
i det här fallet hittar funktionen den andra förekomsten av
'c' och kommer att visa dess position - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Resultat av kodkörning:
8
Exempel
Om delsträngen inte hittas - kommer funktionen
att returnera false. Om strängen finns
i början, kommer funktionen att returnera 0.
Detta kan vara problematiskt vid jämförelse
via kort form av villkor:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Resultat av kodkörning (inte sådan, som vi förväntade oss):
'---'
Exempel
Låt oss utföra en korrekt kontroll av strängens början:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Resultat av kodkörning:
'+++'
Se även
-
funktionen
strrpos,
som returnerar positionen för sista förekomsten av en delsträng -
funktionen
str_contains,
som kontrollerar förekomst av en sträng i en annan sträng -
funktionen
str_starts_with,
som kontrollerar början av en sträng -
funktionen
str_ends_with,
som kontrollerar slutet av en sträng -
funktionen
array_search,
som utför sökning i en array