(PHP 4, PHP 5, PHP 7, PHP 8)
in_array — Indica si un valor pertenece a un array
Busca needle
en haystack
utilizando una comparación
flexible a menos que strict
sea utilizado.
needle
El valor buscado.
Nota:
Si
needle
es un chaîne de caractères, la comparación se realiza teniendo en cuenta la casilla.
haystack
El array.
strict
Si el tercer argumento strict
está definido
a true
entonces la función in_array() verificará también que el tipo
del argumento needle
coincide con el tipo del valor encontrado en haystack
.
Nota:
Antes de PHP 8.0.0, un
string
needle
coincidirá con un valor de array de0
en modo no estricto y viceversa. Esto puede llevar a resultados no deseados. Casos similares también existen para otros tipos. Si no se está absolutamente seguro de los tipos de valores involucrados, siempre se debe utilizar el flagstrict
para evitar cualquier comportamiento inesperado.
Ejemplo #1 Ejemplo con in_array()
<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {
echo "Got mac";
}
?>
La segunda condición falla, ya que in_array() es sensible a la casilla. El script devuelve:
Got Irix
Ejemplo #2 Ejemplo con in_array() y modo estricto
<?php
$a = array('1.10', 12.4, 1.13);
if (in_array('12.4', $a, true)) {
echo "'12.4' es encontrado con modo estricto\n";
}
if (in_array(1.13, $a, true)) {
echo "1.13 es encontrado con modo estricto\n";
}
?>
El resultado del ejemplo sería:
1.13 es encontrado con modo estricto
Ejemplo #3 Ejemplo con in_array() y un array como argumento
<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');
if (in_array(array('p', 'h'), $a)) {
echo "'ph' ha sido encontrado\n";
}
if (in_array(array('f', 'i'), $a)) {
echo "'fi' was found\n";
}
if (in_array('o', $a)) {
echo "'o' ha sido encontrado\n";
}
?>
El resultado del ejemplo sería:
'ph' ha sido encontrado 'o' ha sido encontrado