php8.5
Home/ Manual/ array / functions/ in_array

in_array

PHP function Edit on GitHub ✎

(PHP 4, PHP 5, PHP 7, PHP 8)

Checks if a value exists in an array

Description

in_array(mixed $needle, array $haystack, bool $strict = false): bool

Searches for needle in haystack using loose comparison unless strict is set.

Parameters

needle

The searched value.

Note

If needle is a string, the comparison is done in a case-sensitive manner.

haystack

The 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 non-numeric string needle would loosely match a haystack value of 0, and vice versa. As of PHP 8.0.0, the number is converted to a string and the two are compared as strings, so only a numeric string of the same value still matches.

Non-strict mode nonetheless uses loose comparison, so values of different types can still compare as equal: true matches any truthy string, and false matches both "" and "0". Unless the types of all values involved are known with certainty, always pass strict to force an identity comparison.

Return Values

Returns true if needle is found in the array, false otherwise.

Examples

in_array() example

php
<?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:

output
Got Irix

in_array() with strict example

php
<?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:

output
1.13 found with strict check

in_array() with an array as needle

php
<?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:

output
'ph' was found
'o' was found

See Also

Source: reference/array/functions/in-array.xml · from the official PHP manual (php/doc-en)