strripos

(PHP 5, PHP 7, PHP 8)

strriposBusca la posición de la última ocurrencia de un string contenido en otro, de forma insensible a mayúsculas y minúsculas

Descripción

strripos(string $haystack, string $needle, int $offset = 0): int|false

Busca la posición numérica de la última ocurrencia de needle en el string haystack.

A diferencia de la función strrpos(), strripos() es insensible a mayúsculas y minúsculas.

Parámetros

haystack

El string en el que se debe buscar.

needle

El string a buscar.

Anterior a PHP 8.0.0, si needle no es una cadena de caracteres, se convierte en un entero y se aplica como valor ordinal de un carácter. Este comportamiento está obsoleto a partir de PHP 7.3.0, y confiar en él está fuertemente desaconsejado. Dependiendo del comportamiento esperado, needle debe ser explícitamente convertido a una cadena de caracteres, o debe realizarse una llamada explícita a chr().

offset

Si es cero o positivo, la búsqueda se realiza de izquierda a derecha omitiendo los primeros offset bytes de haystack.

Si es negativo, la búsqueda se realiza de derecha a izquierda omitiendo los últimos offset bytes de haystack y buscando la primera ocurrencia de needle.

Nota:

Esto es efectivamente buscar la última ocurrencia de needle antes de los últimos offset bytes.

Valores devueltos

Devuelve la posición de la última ocurrencia de needle en relación con el inicio del string haystack (independientemente de la dirección de búsqueda o del offset).

Nota: Las posiciones de los string comienzan en 0, y no en 1.

Devuelve false si needle no ha sido encontrado.

Advertencia

Esta función puede retornar false, pero también puede retornar un valor equivalente a false. Por favor, lea la sección sobre los booleanos para más información. Utilice el operador === para probar el valor de retorno exacto de esta función.

Historial de cambios

Versión Descripción
8.2.0 El case folding ya no depende de la configuración local definida con setlocale(). Solo se realizará el case folding ASCII. Los octetos no-ASCII serán comparados por su valor de octeto.
8.0.0 needle acepta ahora una cadena vacía.
8.0.0 Pasar un entero como needle ya no está soportado.
7.3.0 Pasar un entero como before_needle ha sido declarado obsoleto.

Ejemplos

Ejemplo #1 Ejemplo con strripos()

<?php
$haystack
= 'ababcd';
$needle = 'aB';

$pos = strripos($haystack, $needle);

if (
$pos === false) {
echo
"Lo sentimos, no se pudo encontrar ($needle) en ($haystack)";
} else {
echo
"¡Felicidades!\n";
echo
"Hemos encontrado el último ($needle) en ($haystack) en la posición ($pos)";
}
?>

El ejemplo anterior mostrará :

¡Felicidades!
Hemos encontrado el último (aB) en (ababcd) en la posición (2)

Ver también

  • strpos() - Busca la posición de la primera ocurrencia en un string
  • stripos() - Busca la posición de la primera ocurrencia en un string, sin distinguir mayúsculas de minúsculas
  • strrpos() - Busca la posición de la última ocurrencia de una subcadena en una cadena
  • strrchr() - Encuentra la última ocurrencia de un carácter en un string
  • stristr() - Versión insensible a mayúsculas y minúsculas de strstr
  • substr() - Devuelve un segmento de string