strpos

(PHP 4, PHP 5, PHP 7)

strposEncuentra la posición de la primera ocurrencia de un substring en un string

Descripción

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

Encuentra la posición numérica de la primera ocurrencia del needle (aguja) en el string haystack (pajar).

Parámetros

haystack

El string en donde buscar.

needle

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

offset

Si se específica, la búsqueda iniciará en éste número de caracteres contados desde el inicio del string. A diferencia de strrpos() y strripos(), el offset no puede ser negativo.

Valores devueltos

Devuelve la posición donde la aguja existe, en relación al inicio del string haystack (independiente 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.

Ejemplos

Ejemplo #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";
}
?>

Ejemplo #2 Usando !==

<?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'";
}
?>

Ejemplo #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

Nota: Esta función es segura binariamente.

Ver también

  • stripos() - Encuentra la posición de la primera aparición de un substring en un string sin considerar mayúsculas ni minúsculas
  • strrpos() - Encuentra la posición de la última aparición de un substring en un string
  • strripos() - Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
  • strstr() - Encuentra la primera aparición de un string
  • strpbrk() - Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
  • substr() - Devuelve parte de una cadena
  • preg_match() - Realiza una comparación con una expresión regular