strrchr

(PHP 4, PHP 5, PHP 7, PHP 8)

strrchrSucht das letzte Vorkommen eines Zeichens in einem String

Beschreibung

strrchr(string$haystack, string$needle, bool$before_needle = false): string|false

Diese Funktion gibt den letzten Teil von haystack beginnend mit dem letzten Vorkommen von needle bis zum Ende von haystack zurück.

Parameter-Liste

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

Rückgabewerte

Die Funktion gibt einen Teil der Zeichenkette zurück. Wird needle nicht gefunden, ist der Rückgabewert false.

Changelog

VersionBeschreibung
8.3.0 Der Parameter before_needle wurde hinzugefügt.
8.0.0needle 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.

Beispiele

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

Anmerkungen

Hinweis: Diese Funktion ist binärsicher.

Siehe auch

  • strstr() - Findet das erste Vorkommen eines Strings
  • strrpos() - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
To Top