PHP Dokumentation: Function strpos
12. Januar 2010 von werner
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 dasboolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, wie zumBeispiel 0 oder "", der von einem einfachenif-Statement als FALSE ausgewertet wird. Weitere Informationen entnehmen Siebitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalbden === Operator,um den Rückgabewert dieser Funktion zu überprüfen.
Beispiele
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 != 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
?>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