Checks if a value exists in an array

- « extract

- key »

- PHP Manual
- Array Functions
- Checks if a value exists in an array

# in_array

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

in_array — 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 `string` `needle` will match an array value of `0` in 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 the `strict` flag to avoid unexpected behavior.

### Return Values

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

### Examples

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

### See Also

- array_search() - Searches the array for a given value and returns the first corresponding key if successful
- isset() - Determine if a variable is declared and is different than null
- array_key_exists() - Checks if the given key or index exists in the array