Funksjonen strpos
Funksjonen strpos returnerer posisjonen
til første forekomst av en delstreng i en annen streng
eller false hvis delstrengen ikke blir funnet.
Første parameter tar funksjonen imot strengen
der søket skal utføres, andre parameter
- delstrengen som skal søkes etter.
Som standard søker funksjonen fra starten av strengen til første treff. Startpunktet for søket kan justeres med en tredje valgfri parameter - hvis den er angitt, vil søket starte ikke fra begynnelsen av strengen, men fra angitt posisjon.
Det finnes også en funksjon stripos, som
gjør det samme, men uten å ta hensyn til store og små bokstaver.
Syntaks
strpos(string $haystack, string $needle, int $offset = 0): int|false
Eksempel
I dette eksempelet vil funksjonen returnere posisjonen til første
symbol 'c'. Den opptar posisjon 2,
siden tellingen starter fra 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Resultat av kjøring av koden:
2
Eksempel
I dette eksempelet er tredje parameter angitt og
derfor vil søket starte fra tredje posisjon,
i dette tilfellet vil funksjonen finne det andre symbolet
'c' og vise dens posisjon - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Resultat av kjøring av koden:
8
Eksempel
Hvis delstrengen ikke blir funnet - vil funksjonen
returnere false. Hvis strengen står
i begynnelsen, vil funksjonen returnere 0.
Dette kan være et problem ved sammenligning
via kortform av betingelse:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Resultat av kjøring av koden (ikke slik vi forventet):
'---'
Eksempel
La oss utføre riktig sjekk på starten av strengen:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Resultat av kjøring av koden:
'+++'
Se også
-
funksjonen
strrpos,
som returnerer posisjonen til siste forekomst av en delstreng -
funksjonen
str_contains,
som sjekker forekomst av et symbol i en streng -
funksjonen
str_starts_with,
som sjekker starten av en streng -
funksjonen
str_ends_with,
som sjekker slutten av en streng -
funksjonen
array_search,
som utfører søk i en array