# strrpos

(PHP 4, PHP 5, PHP 7, PHP 8)

strrpos — Encuentra la posición de la última aparición de un substring en un string

### Descripción

strrpos(string `$haystack`, mixed `$needle`, int `$offset` = 0): int

Encuentra la posición númerica de la última aparición de `needle` (aguja) en el string `haystack` (pajar).

### Parámetros

`haystack`

  El string donde buscar.

`needle`

  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 se especifica, la búsqueda iniciará en éste número de caracteres contados desde el comienzo del string. Si el valor es negativo, entonces la búsqueda iniciará desde esa cantidad de caracteres desde el final del string, buscando hacia atrás.

### Valores devueltos

Devuelve la posición donde la aguja existe en relación al inicio del string `haystack` (independiente de la dirección de la búsqueda o del offset). También tener en cuenta que las posiciones de inicio de los string empiezan en 0 y no 1.

Devuelve `false` si no fue encontrada la aguja.

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
--- | ---
5.0.0 | `needle` puede ser ahora un string de más de un carácter.

### Ejemplos

Ejemplo #1 Verificando si hay una aguja en el pajar

Es fácil confundir el valor devuelto por "caracter encontrado en la posición 0" y "caracter no encontrado". Aquí está la forma de detectar la diferencia:

`<?php
$pos = strrpos($mystring, "b");
if ($pos === false) { // nota: tres signos de igual
// no encontrado...
}
?>`

Ejemplo #2 Buscando con desplazamientos

`<?php
$foo = "0123456789a123456789b123456789c";
var_dump(strrpos($foo, '7', -5)); // Comienza mirando hacia atrás cinco posiciones
// desde el final. Resultado: int(17)
var_dump(strrpos($foo, '7', 20)); // Inicia la búsqueda 20 posiciones en el
// string. Resultado: int(27)
var_dump(strrpos($foo, '7', 28)); // Resultado: bool(false)
?>`

### Ver también

- strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string
- stripos() - Encuentra la posición de la primera aparición de un substring en un string sin considerar mayúsculas ni minúsculas
- strripos() - Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
- strrchr() - Encuentra la última aparición de un caracter en un string
- substr() - Devuelve parte de una cadena