(PHP 4, PHP 5, PHP 7, PHP 8)
strrchr — Sucht das letzte Vorkommen eines Zeichens in einem String
Diese Funktion gibt den letzten Teil von haystack
beginnend mit dem letzten Vorkommen von needle
bis zum Ende von haystack
zurück.
haystack
Die Zeichenkette, in der gesucht werden soll.
needle
Enthält needle
mehr als ein Zeichen, wird nur das erste Zeichen verwendet. Damit unterscheidet sich das Verhalten der Funktion gegenüber strstr().
Wenn der Parameter needle
keine Zeichenkette ist, wird er vor PHP 8.0.0 in eine Ganzzahl umgewandelt und als ordinaler Wert eines Zeichens betrachtet. Dieses Verhalten gilt seit PHP 7.3.0 als veraltet und es wird dringend empfohlen, sich nicht darauf zu verlassen. Ist das Verhalten gewünscht, so sollte needle
explizit in eine Zeichenkette umgewandelt werden oder explizit die Funktion chr() aufgerufen werden.
before_needle
Falls true
, gibt strrchr() den Teil von haystack
zurück, der vor dem letzten Vorkommen von needle
liegt (ohne needle).
Die Funktion gibt einen Teil der Zeichenkette zurück. Wird needle
nicht gefunden, ist der Rückgabewert false
.
Version | Beschreibung |
---|---|
8.3.0 | Der Parameter before_needle wurde hinzugefügt. |
8.0.0 | needle akzeptiert nun eine leere Zeichenkette. |
8.0.0 | Die Übergabe eines Integer als needle wird nicht mehr unterstützt. |
7.3.0 | Die Übergabe eines Integer als needle wird missbilligt. |
Beispiel #1 strrchr()-Beispiel
<?php
$ext = strrchr('somefile.txt', '.');
echo "Dateierweiterung: $ext \n";
$ext = $ext ? strtolower(substr($ext, 1) ) : '';
echo "Dateierweiterung: $ext";
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Dateierweiterung: .txt Dateierweiterung: txt
Hinweis: Diese Funktion ist binärsicher.