Ce face strrchr
strrchr caută ultima apariție a unui caracter și returnează tot ce urmează, inclusiv acel caracter. Este varianta „de la final” a lui strstr.
Dacă $needle are mai multe caractere, se folosește doar primul. Parametrul $before_needle a apărut în PHP 8.3 și returnează partea dinaintea ultimei apariții.
Parametri
| Parametru | Descriere |
|---|---|
$haystack |
Textul în care se caută. |
$needle |
Caracterul căutat (doar primul caracter contează). |
$before_needle |
Opțional, PHP 8.3+. true returnează partea dinainte. |
Ce returnează
Bucata de text sau false dacă caracterul nu apare.
Exemple
Exemplul 1: Extensia și ultimul director dintr-o cale
<?php
echo strrchr("arhiva.2026.zip", ".") . "\n";
echo substr(strrchr("/var/www/dexblog/index.php", "/"), 1);
Rezultat
.zip
index.php
Exemplul 2: Ultimul cuvânt dintr-un nume
<?php
$nume = "Ana Maria Popescu";
echo trim(strrchr($nume, " "));
Rezultat
Popescu
Greșeli frecvente
- Dai un text de mai multe caractere ca
$needleși te aștepți să fie căutat întreg.strrchrfolosește doar primul caracter. Pentru texte întregi foloseștestrrposșisubstr.
Comenzi înrudite
strstr / stristr: Returnează partea dintr-un text care începe cu prima apariție a altui text (sau partea dinaintea ei).strrpos / strripos: Găsește poziția ultimei apariții a unui text în alt text.substr: Extrage o bucată dintr-un text, pornind de la o anumită poziție.