Funktion strpos
Die Funktion strpos gibt die Position
des ersten Vorkommens eines Teilstrings in einem anderen String zurück
oder false, wenn der Teilstring nicht gefunden wird.
Der erste Parameter der Funktion ist der String,
in dem gesucht werden soll, der zweite Parameter
ist der Teilstring, nach dem gesucht werden soll.
Standardmäßig sucht die Funktion vom Anfang des Strings bis zur ersten Übereinstimmung. Der Startpunkt der Suche kann mit dem dritten optionalen Parameter gesteuert werden - wenn dieser angegeben ist, beginnt die Suche nicht am Anfang des Strings, sondern an der angegebenen Position.
Es gibt auch die Funktion stripos, die
das Gleiche tut, aber ohne Berücksichtigung der Groß-/Kleinschreibung.
Syntax
strpos(string $haystack, string $needle, int $offset = 0): int|false
Beispiel
In diesem Beispiel gibt die Funktion die Position des ersten
Zeichens 'c' zurück. Es befindet sich an Position 2,
da die Zählung bei 0 beginnt:
<?php
echo strpos('abcde abcde', 'c');
?>
Ergebnis der Codeausführung:
2
Beispiel
In diesem Beispiel ist der dritte Parameter angegeben und
daher beginnt die Suche an der dritten Position.
In diesem Fall findet die Funktion das zweite Zeichen
'c' und gibt dessen Position aus - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Ergebnis der Codeausführung:
8
Beispiel
Wenn der Teilstring nicht gefunden wird - gibt die Funktion
false zurück. Wenn der String jedoch
am Anfang steht, gibt die Funktion 0 zurück.
Dies kann ein Problem bei einem Vergleich
mit einer Kurzform der Bedingung sein:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Ergebnis der Codeausführung (nicht so, wie wir es erwartet haben):
'---'
Beispiel
Führen wir eine korrekte Prüfung auf den Anfang des Strings durch:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Ergebnis der Codeausführung:
'+++'
Siehe auch
-
die Funktion
strrpos,
die die Position des letzten Vorkommens eines Teilstrings zurückgibt -
die Funktion
str_contains,
die das Vorkommen eines Zeichens in einem String prüft -
die Funktion
str_starts_with,
die den Anfang eines Strings prüft -
die Funktion
str_ends_with,
die das Ende eines Strings prüft -
die Funktion
array_search,
die eine Suche in einem Array durchführt