Werbung
strpos
(PHP 4, PHP 5)
strpos — Sucht das erste Vorkommen des Suchstrings
Beschreibung
Gibt die numerische Position des ersten Vorkommens von needle innerhalb der Zeichenkette haystack zurück. Anders als strrpos() vor PHP 5 akzeptiert diese Funktion eine komplette Zeichenkette als needle -Parameter und verwendet den gesamten String zur Suche.
Parameter-Liste
- haystack
-
Die Zeichenkette, in der gesucht werden soll.
- needle
-
Ist needle kein String, wird der Parameter in einen Integerwert konvertiert, der dem Ordinalwert des Zeichens entspricht.
- offset
-
Der optionale Parameter offset ermöglicht es Ihnen, die Startposition für die Suche innerhalb von haystack anzugeben. Die zurück gegebene Positions-Angabe ist dann relativ zum Anfang von haystack .
Rückgabewerte
Gibt die Position als Integerwert zurück. Wurde needle nicht gefunden, gibt strpos() den boolean-Wert FALSE zurück.
Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, wie zum Beispiel 0 oder "", der von einem einfachen if-Statement als 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.
Beispiele
2
3
4
5
6
7
8
9
10
11
12
$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";
}
2
3
4
5
6
7
8
9
10
11
12
$meinString = 'abc';
$findMich = 'a';
$pos = strpos($meinString, $findMich);
// Der !==-Operator kann ebenfalls verwendet werden. Die Verwendung von != 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";
}
2
3
4
// 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
Anmerkungen
Hinweis: Diese Funktion ist binary safe.
Siehe auch
- strrpos() - Findet das letzte Vorkommen eines Zeichens innerhalb einer Zeichenkette
- stripos() - Findet das erste Vorkommen eines Strings, unabhängig von Groß- und Kleinschreibung
- strripos() - Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung
- strrchr() - Sucht das letzte Vorkommen eines Zeichens in einem String
- substr() - Gibt einen Teil eines Strings zurück
- stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
- strstr() - Findet das erste Vorkommen eines Strings