Funktionen strpos
Funktionen strpos returnerer positionen
af den første forekomst af en understreng i en anden streng
eller false, hvis understrengen ikke findes.
Som første parameter tager funktionen strengen,
der skal søges i, som anden parameter
- understrengen, der skal søges efter.
Som standard søger funktionen fra starten af strengen til den første forekomst. Startpositionen for søgningen kan justeres med en tredje valgfri parameter - hvis den er angivet, starter søgningen ikke fra begyndelsen af strengen, men fra det angivne sted.
Der er også en funktion kaldet stripos, som
gør det samme, men uden at tage hensyn til store og små bogstaver.
Syntaks
strpos(string $haystack, string $needle, int $offset = 0): int|false
Eksempel
I dette eksempel vil funktionen returnere positionen af det første
symbol 'c'. Det indtager position 2,
da optællingen starter fra 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Resultatet af kodeudførelsen:
2
Eksempel
I dette eksempel er den tredje parameter angivet, og
derfor vil søgningen starte fra den tredje position.
I dette tilfælde vil funktionen finde det andet symbol
'c' og udskrive dens position - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Resultatet af kodeudførelsen:
8
Eksempel
Hvis understrengen ikke findes - vil funktionen
returnere false. Hvis strengen derimod står
i begyndelsen, vil funktionen returnere 0.
Dette kan være et problem ved sammenligning
via en kort betingelsesform:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Resultatet af kodeudførelsen (ikke sådan, som vi forventede):
'---'
Eksempel
Lad os udføre en korrekt kontrol for starten af strengen:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Resultatet af kodeudførelsen:
'+++'
Se også
-
funktionen
strrpos,
som returnerer positionen af den sidste forekomst af en understreng -
funktionen
str_contains,
som kontrollerer forekomsten af et symbol i en streng -
funktionen
str_starts_with,
som kontrollerer starten af en streng -
funktionen
str_ends_with,
som kontrollerer slutningen af en streng -
funktionen
array_search,
som udfører søgning i et array