mb_strrpos throws a warning if $haystack is empty.
strrpos simply returns FALSE.
This is something to be wary of if overloading the mb functions.
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_strrpos — Busca la posicion de la última ocurrencia de un string en otro string
$haystack
,$needle
,$offset
= 0,$encoding
= mb_internal_encoding()
Realiza una operación
strpos() segura multibyte basada en el número de
caracteres. La posición de needle
se cuenta desde el comienzo de
haystack
. La posición del primer carácter es
0. La posición del segundo carácter es 1.
haystack
El string a comprobar, para la última ocurrencia
de needle
needle
El string a buscar en haystack
.
offset
encoding
El parámetro encoding
es la codificación de caracteres. Si es omitido, será usado el valor de la
codificación de caracteres interna.
Devuelve la posición numérica de
la última ocurrencia de needle
en el
string haystack
. Si
no se encuentra needle
, devuelve false
.
Versión | Descripción |
---|---|
5.2.0 | Se añadió el parámetro opcional offset . |
Nota: El parámetro
encoding
fue movido de la tercera posición a la cuarta en PHP 5.2.0. Para la retrocompatibilidad,encoding
se puede especificar como tercer parámetro, pero hacerlo está obsoleto y será eliminado en el futuro.
mb_strrpos throws a warning if $haystack is empty.
strrpos simply returns FALSE.
This is something to be wary of if overloading the mb functions.
"Negative values will stop searching at an arbitrary point prior to the end of the string. " ist misleading.
The needle may not fully part of searchrange, defined by a negative offset.
A negative offsets marks the last byte, where a search could start.
<?php
$test = "Hallo, Herr Gött";
var_dump(strlen($test)); // int(17)
var_dump(mb_strrpos($test,'ött',13)); // int(13)
var_dump(mb_strrpos($test,'ött',-4)); // int(13) 17-4 = 13
var_dump(mb_strrpos($test,'ött',-5)); // bool(false)
?>