(PHP 5, PHP 7, PHP 8)
stripos — Busca la posición de la primera ocurrencia en un string, sin distinguir mayúsculas de minúsculas
Busca la posición numérica de la primera ocurrencia de
needle
en el string haystack
.
A diferencia de la función strpos(), stripos() no distingue entre mayúsculas y minúsculas.
haystack
El string en el que se realiza la búsqueda.
needle
El string a buscar.
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 comenzará a partir de este número de caracteres, contados desde el inicio del string. Si la posición es negativa, la búsqueda comenzará utilizando este número de caracteres pero comenzando desde el final del string.
Devuelve la posición de la primera ocurrencia en el string
en relación con el inicio del string haystack
(independientemente del offset). Asimismo, se debe tener en cuenta que la posición
en el string comienza en 0, y no en 1.
Devuelve false
si la ocurrencia no ha sido encontrada.
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.
Versión | Descripción |
---|---|
8.2.0 | Case folding no longer depends on the locale set with setlocale(). Only ASCII case folding will be done. Non-ASCII bytes will be compared by their byte value. |
8.0.0 |
needle now accepts an empty string.
|
8.0.0 |
Pasar un entier como needle ya no está soportado.
|
7.3.0 |
Pasar un entier como before_needle ha sido
declarado obsoleto.
|
7.1.0 |
Se ha añadido soporte para números negativos en el parámetro offset .
|
Ejemplo #1 Ejemplo con stripos()
<?php
$findme = 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';
$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);
// No, 'a' no forma parte de 'xyz'
if ($pos1 === false) {
echo "El string '$findme' no ha sido encontrado en el string '$mystring1'", PHP_EOL;
}
// Observe el uso de ===. Un simple == no daría el resultado esperado
// ya que la letra 'a' está en la posición 0 (la primera).
if ($pos2 !== false) {
echo "El string '$findme' ha sido encontrado en el string '$mystring2'", PHP_EOL;
echo " en la posición $pos2";
}
?>
Nota: Esta función es segura binariamente.