(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.