Funciones de strings
PHP Manual

strpos

(PHP 4, PHP 5)

strposBusca la posición de la primera ocurrencia de una cadena

Descripción

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

Devuelve la posición numérica de la primera ocurrencia de la cadena needle (aguja) en el haystack (pajar). A diferencia de strrpos() antes de PHP 5, esta función puede tomar una cadena entera como parámetro needle y será usada la cadena entera.

Parámetros

haystack

La cadena a buscar en

needle

Si la needle no es una cadena, es convertida a integer y se interpreta como el valor ordinal de un carácter.

offset

El parámetro opcional offset permite especificar por que caracter en haystack se desea empezar la búsqueda. La posición devuelta sigue siendo relativa al inicio del haystack.

Valores devueltos

Devuelve la posición como valor numérico. Si la needle no es encontrada strpos() devolverá boolean FALSE.

Warning

Esta función quizá devuelve Boolean FALSE, pero quizá también devuelve un valor non-Boolean que se evaluará como FALSE, como 0 o "". Por favor lea la sección en Booleans para más información. Use el operador === para testear el valor devuelto por esta función.

Ejemplos

Example #1 Usando ===

<?php
$mystring 
'abc';
$findme   'a';
$pos strpos($mystring$findme);

// Nótese el uso de ===. Puesto que == simple no funcionará como se espera
// porque la posición de 'a' está en el 1° (primer) caracter.
if ($pos === false) {
    echo 
"La cadena '$findme' no fue encontrada en la cadena '$mystring'";
} else {
    echo 
"La cadena '$findme' fue encontrada en la cadena '$mystring'";
    echo 
" y existe en la posición $pos";
}
?>

Example #2 Using !==

<?php
$mystring 
'abc';
$findme   'a';
$pos strpos($mystring$findme);

// El operador !== también puede ser usado. Puesto que != no funcionará como se espera
// porque la posición de 'a' es 0. La declaración (0 != false) se evalúa a 
// false.
if ($pos !== false) {
     echo 
"La cadena '$findme' fue encontrada en la cadena '$mystring'";
         echo 
" y existe en la posición $pos";
} else {
     echo 
"La cadena '$findme' no fue encontrada en la cadena '$mystring'";
}
?>

Example #3 Uso de offset

<?php
// Se puede buscar por el caracter, ignorando cualquier cosa antes del offset
$newstring 'abcdef abcdef';
$pos strpos($newstring'a'1); // $pos = 7, no 0
?>

Notas

Note: Esta función es segura binariamente.

Ver también


Funciones de strings
PHP Manual