(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.
needleEl valor buscado.
Nota:
Si
needlees una string, la comparación se realiza teniendo en cuenta la distinción entre mayúsculas y minúsculas.
haystackEl 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
stringneedlecoincidirá con un valor de array de0en 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 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 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