(PHP 4, PHP 5, PHP 7)
strpos — Sucht die Position des ersten Vorkommens des Suchstrings in einem String
Gibt die numerische Position des ersten Vorkommens von
needle innerhalb der Zeichenkette
haystack zurück.
haystackDie Zeichenkette, in der gesucht werden soll.
needle
If needle is not a string, it is converted
to an integer and applied as the ordinal value of a character.
This behavior is deprecated as of PHP 7.3.0, and relying on it is highly
discouraged. Depending on the intended behavior, the
needle should either be explicitly cast to string,
or an explicit call to chr() should be performed.
offsetWenn angegeben, wird die Suche diese Anzahl an Zeichen vom Anfang der Zeichenkette gezählt beginnen. Ist der Wert negativ, beginnt die Suche stattdessen diese Anzahl an Zeichen vom Ende des Strings gezählt.
Gibt die Position des Vorkommens von needle relativ
zum Anfang der Zeichenkette haystack (unabhängig von
offset). Es ist ebenfalls zu beachten, dass
Stringpositionen bei 0 beginnen, und nicht bei 1.
Gibt FALSE zurück, wenn needle nicht gefunden wurde.
Diese Funktion kann sowohl das
boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird.
Weitere Informationen entnehmen Sie bitte dem Abschnitt über die
boolschen Typen. Benutzen Sie deshalb
den === Operator,
um den Rückgabewert dieser Funktion zu überprüfen.
| Version | Beschreibung |
|---|---|
| 7.1.0 |
Unterstützung für negative offset-Werte wurde hinzugefügt.
|
Beispiel #1 Verwendung von ===
<?php
$meinString = 'abc';
$findMich = 'a';
$pos = strpos($meinString, $findMich);
// Beachten Sie die Verwendung von ===. Ein einfacher Vergleich (==) liefert
// nicht das erwartete Ergebnis, da die Position von 'a' die nullte Stelle
// (also das erste Zeichen) ist
if ($pos === false) {
echo "Der String '$findMich' wurde nicht im String '$meinString' gefunden";
} else {
echo "Der String '$findMich' wurde im String '$meinString' gefunden";
echo " und befindet sich an Position $pos";
}
?>
Beispiel #2 Verwendung von !==
<?php
$meinString = 'abc';
$findMich = 'a';
$pos = strpos($meinString, $findMich);
// Der !==-Operator kann ebenfalls verwendet werden. Die Verwendung von !=
// würde in unserem Beispiel nicht wie erwartet arbeiten, da die Position
// von 'a' 0 ist. Das Statement (0 != false) evaluiert hierbei zu false.
if ($pos !== false) {
echo "Der String '$findMich' wurde im String '$meinString' gefunden";
echo " und befindet sich an Position $pos";
} else {
echo "Der String '$findMich' wurde nicht im String '$meinString' gefunden";
}
?>
Beispiel #3 Verwendung eines Offsets
<?php
// Wir koennen nach einem Zeichen suchen und dabei alles vor dem Offset ignorieren
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, nicht 0
?>
Hinweis: Diese Funktion ist binary safe.