strrpos

(PHP 4, PHP 5, PHP 7)

strrposFindet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette

Beschreibung

strrpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int

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 der Parameter needle kein String, so wird dieser in eine Ganzzahl umgewandelt und als ordinaler Wert eines Zeichens betrachtet. Dieses Verhalten gilt seit PHP 7.3.0 als veraltete und es wird stark empfohlen, sich nicht darauf zu verlassen. Ist das Verhalten gewünscht, so sollte man explizit zu einer Zeichenkette casten oder explizit die Funktion chr() aufrufen.

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.

Warnung

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 die Position des ersten Vorkommens des Suchstrings in einem String
  • 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