(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
suave a menos que strict
sea utilizado.
needle
El valor buscado.
Nota:
Si
needle
es una string, la comparación se realiza teniendo en cuenta la distinción entre mayúsculas y minúsculas.
haystack
El array.
strict
Si el tercer parámetro strict
se establece en
true
entonces la función in_array() verificará también que el tipo
del parámetro needle
corresponda al 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 especiales similares existen también para otros tipos. Si no está absolutamente seguro de los tipos de valores involucrados, utilice siempre 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 mayúsculas y minúsculas. El script devuelve :
Got Irix
Ejemplo #2 Ejemplo con in_array() y el modo estricto
<?php
$a = array('1.10', 12.4, 1.13);
if (in_array('12.4', $a, true)) {
echo "'12.4' es encontrado con el modo estricto\n";
}
if (in_array(1.13, $a, true)) {
echo "1.13 es encontrado con el modo estricto\n";
}
?>
El resultado del ejemplo sería:
1.13 es encontrado con el modo estricto
Ejemplo #3 Ejemplo con in_array() y un array como parámetro
<?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