PHP 8.4.1 Released!

mb_strrpos

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strrposBusca la posicion de la última ocurrencia de un string en otro string

Descripción

mb_strrpos(
    string $haystack,
    string $needle,
    int $offset = 0,
    string $encoding = mb_internal_encoding()
): int

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.

Parámetros

haystack

El string a comprobar, para la última ocurrencia de needle

needle

El string a buscar en haystack.

offset
Se podría especificar para comenzar la búsqueda de un número arbitrario de caracteres dentro del string. Los valores negativos detendrán la búsqueda en un punto arbitrario anterior al final del string.
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.

Valores devueltos

Devuelve la posición numérica de la última ocurrencia de needle en el string haystack. Si no se encuentra needle, devuelve false.

Historial de cambios

Versión Descripción
5.2.0 Se añadió el parámetro opcional offset.

Notas

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.

Ver también

  • mb_strpos() - Busca la posición de la primera ocurrencia de un string en otro string
  • mb_internal_encoding() - Establece/obtiene la codificación de caracteres interna
  • strrpos() - Encuentra la posición de la última aparición de un substring en un string

add a note

User Contributed Notes 2 notes

up
1
Anonymous
18 years ago
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.
up
-2
Anonymous
9 years ago
"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)
?>
To Top