(PHP 4, PHP 5, PHP 7)
strpos — Encuentra la posición de la primera ocurrencia de un substring en un string
Encuentra la posición numérica de la primera ocurrencia del
needle
(aguja) en el string haystack
(pajar).
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.
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.
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.
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
?>
Nota: Esta función es segura binariamente.