Funciones de strings
PHP Manual

strrpos

(PHP 4, PHP 5)

strrposEncuentra la posición de la última aparición de un substring en un string

Descripción

int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

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 un string, se convierte en un integer y se aplica como el valor ordinal de un caracter.

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 El needle puede ser ahora un string de más de un carácter.
5.0.0 Fue introducido el parámetro offset.

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


Funciones de strings
PHP Manual