Function.strpos
Aus PHP-Wiki
strpos — Sucht das erste Vorkommen des Suchstrings
Inhaltsverzeichnis |
Beschreibung
int strpos ( string $haystack ,mixed $needle [, int $offset ] )
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.
WarnungDiese Funktion kann sowohl das
Boolsche FALSE zurückliefern, als auch einen nicht-Boolschen Wert, wie zum
Beispiel0 oder "". der von einem einfachen
if-Statement als FALSE ausgewertet wird. Weitere Informationen entnehmen Sie
bitte dem Abschnitt über die
Boolsche Typen. Benutzen Sie deshalb
den === Operator
um den Rückgabewert dieser Funktion zu überprüfen.
Beispiele
#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 !===== <source lang="php"> <?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.