Functie strpos
De functie strpos retourneert de positie
van het eerste voorkomen van een substring in een andere string
of false als de substring niet wordt gevonden.
Als eerste parameter accepteert de functie de string
waarin moet worden gezocht, als tweede parameter
de substring die moet worden gezocht.
Standaard zoekt de functie vanaf het begin van de string tot de eerste overeenkomst. Het startpunt van de zoekopdracht kan worden geregeld met een derde optionele parameter - als deze is opgegeven, start de zoekopdracht niet vanaf het begin van de string, maar vanaf de opgegeven positie.
Er is ook de functie stripos, die
hetzelfde doet, maar zonder onderscheid te maken tussen hoofdletters en kleine letters.
Syntaxis
strpos(string $haystack, string $needle, int $offset = 0): int|false
Voorbeeld
In dit voorbeeld retourneert de functie de positie van het eerste
teken 'c'. Het bevindt zich op positie 2,
aangezien de telling begint bij 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Resultaat van de code-uitvoering:
2
Voorbeeld
In dit voorbeeld is de derde parameter opgegeven en
daarom start de zoekopdracht vanaf de derde positie,
in dit geval vindt de functie het tweede teken
'c' en toont zijn positie - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Resultaat van de code-uitvoering:
8
Voorbeeld
Als de substring niet wordt gevonden - dan retourneert de functie
false. Als de string zich
aan het begin bevindt, dan retourneert de functie 0.
Dit kan een probleem zijn bij vergelijking
via de korte vorm van de voorwaarde:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Resultaat van de code-uitvoering (niet zoals we verwachtten):
'---'
Voorbeeld
Laten we een correcte controle uitvoeren op het begin van de string:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Resultaat van de code-uitvoering:
'+++'
Zie ook
-
de functie
strrpos,
die de positie van het laatste voorkomen van een substring retourneert -
de functie
str_contains,
die controleert op het voorkomen van een teken in een string -
de functie
str_starts_with,
die het begin van een string controleert -
de functie
str_ends_with,
die het einde van een string controleert -
de functie
array_search,
die zoekt in een array