(PHP 4, PHP 5, PHP 7, PHP 8)
in_array — Checks if a value exists in an array
Searches for needle in haystack using loose comparison
unless strict is set.
needleThe searched value.
Note:
If
needleis a string, the comparison is done in a case-sensitive manner.
haystackThe array.
strict
If the third parameter strict is set to true
then the in_array() function will also check the
types of the
needle in the haystack.
Note:
Prior to PHP 8.0.0, a
stringneedlewill match an array value of0in non-strict mode, and vice versa. That may lead to undesireable results. Similar edge cases exist for other types, as well. If not absolutely certain of the types of values involved, always use thestrictflag to avoid unexpected behavior.
Example #1 in_array() example
<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {
echo "Got mac";
}
?>The second condition fails because in_array() is case-sensitive, so the program above will display:
Got Irix
Example #2 in_array() with strict example
<?php
$a = array('1.10', 12.4, 1.13);
if (in_array('12.4', $a, true)) {
echo "'12.4' found with strict check\n";
}
if (in_array(1.13, $a, true)) {
echo "1.13 found with strict check\n";
}
?>The above example will output:
1.13 found with strict check
Example #3 in_array() with an array as needle
<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');
if (in_array(array('p', 'h'), $a)) {
echo "'ph' was found\n";
}
if (in_array(array('f', 'i'), $a)) {
echo "'fi' was found\n";
}
if (in_array('o', $a)) {
echo "'o' was found\n";
}
?>The above example will output:
'ph' was found 'o' was found