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