Documentación offline PHP master

strripos

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

strripos

Busca 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]): int
```php

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`.

> [!NOTE]
> Esto es efectivamente buscar la última ocurrencia de `needle` antes de los últimos `offset` bytes.

## Valores devueltos

Devuelve la posición donde existe `needle` en relación con el comienzo del string `haystack` (independientemente de la dirección de búsqueda o `offset`).

> [!NOTE]
> Las posiciones de los `string` comienzan en 0, y no en 1.

Devuelve `false` si `needle` no ha sido encontrado.

> [!WARNING]
> 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](#language.types.boolean) para más información. Utilice el [operador ===](#language.operators.comparison) para probar el valor de retorno exacto de esta función.

## Errores/Excepciones

- Si `offset` es mayor que la longitud de `haystack`, se lanzará un `ValueError`.

## 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 `int` como `needle` ya no está soportado. |
| 7.3.0 | Pasar un `int` como `before_needle` ha sido declarado obsoleto. |

## Ejemplos

Ejemplo con `strripos`

```php

El ejemplo anterior mostrará:

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

Véase también#

strpos, stripos, strrpos, strrchr, stristr, substr