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.

Si needle no es una cadena, se convierte a un entero y se aplica como el valor ordinal de un carácter. Este comportamiento está obsoleto a partir de PHP 7.3.0, por lo que su uso está totalmente desaconsejado. Dependiendo del comportamiento previsto, needle deberá ser convertido explícitamente a string, o realizar 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 chaîne de caractères comienzan en 0, y no en 1.

Devuelve false si needle no ha sido encontrado.

Advertencia

Esta función puede devolver el valor booleano false, pero también puede devolver un valor no booleano que se evalúa como false. Por favor lea la sección sobre Booleanos para más información. Use el operador === para comprobar el valor devuelto por esta función.

Historial de cambios

Versión Descripción
8.2.0 Case folding no longer depends on the locale set with setlocale(). Only ASCII case folding will be done. Non-ASCII bytes will be compared by their byte value.
8.0.0 needle now accepts an empty string.
8.0.0 Pasar un entier como needle ya no está soportado.
7.3.0 Pasar un entier 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 resultado del ejemplo sería:

¡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