strrpos
(PHP 4, PHP 5)
strrpos — Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
Beschreibung
$haystack
, string $needle
[, int $offset = 0
] )
Gibt die numerische Position des letzten Vorkommens von
needle innerhalb der Zeichenkette
haystack zurück.
Parameter-Liste
-
haystack -
Die Zeichenkette in der gesucht werden soll.
-
needle -
Ist
needlekein String, wird der Parameter in einen Integerwert konvertiert, der dem Ordinalwert des Zeichens entspricht. -
offset -
Wenn angegeben, wird die Suche diese Anzahl an Buchstaben vom Anfang des Strings gezählt stoppen. Wenn der Wert negativ ist, startet die Suche stattdessen diese Anzahl an Zeichen vom Ende des Strings aus.
Rückgabewerte
Gibt die Position des Vorkommens des gesuchten Teilstrings relativ
zum Anfang der Zeichenkette haystack (unabhängig
von Suchrichtung oder Offset) zurück.
Beachten Sie bitte, dass Positionen in Zeichenketten ab 0 gezählt werden
und nicht ab 1.
Gibt FALSE zurück, falls der gesuchte teilstring 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.
Changelog
| Version | Beschreibung |
|---|---|
| 5.0.0 |
needle kann nun aus mehr als
einem Buchstaben bestehen.
|
Beispiele
Beispiel #1 Prüfen ob needle in haystack vorkommt
Es liegt nahe, einen Fehler bei der Auswertung der Rückgabewerte von "Zeichen an Position 0 gefunden" und "Zeichen nicht gefunden" zu begehen. Am einfachsten finden Sie den Unterschied wie folgt heraus:
<?php
$pos = strrpos($meinstring, "b");
if ($pos === false) { // Beachten sie die drei Gleichheitszeichen
// nicht gefunden ...
}
?>
Beispiel #2 Mit Offsets suchen
<?php
$foo = "0123456789a123456789b123456789c";
var_dump(strrpos($foo, '7', -5)); // Beginnt die Suche fünf Zeichen
// vom Ende aus. Ergebnis: int(17)
var_dump(strrpos($foo, '7', 20)); // Beginnt die Suche zwanzig Zeichen
// vom Anfang aus. Ergebnis: int(27)
var_dump(strrpos($foo, '7', 28)); // Ergebnis: bool(false)
?>
Siehe auch
- strpos() - Sucht das erste Vorkommen des Suchstrings
- stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, 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