(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.
needleEl valor buscado.
Nota:
Si
needlees un string, la comparación se realiza teniendo en cuenta la casilla.
haystackEl 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
stringneedlecoincidirá con un valor de array de0en 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 flagstrictpara 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 ejemplo anterior mostrará :
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 ejemplo anterior mostrará :
'ph' ha sido encontrado 'o' ha sido encontrado