Indique si une valeur appartient à un tableau

# in_array

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

in_array — Indique si une valeur appartient à un tableau

### Description

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

Recherche `needle` dans `haystack` en utilisant une comparaison souple à moins que `strict` ne soit utilisé.

### Liste de paramètres

`needle`

  La valeur recherchée.

  > Note:

  > Si `needle` est une chaîne de caractères, la comparaison est faite en tenant compte de la casse.

`haystack`

  Le tableau.

`strict`

  Si le troisième paramètre `strict` est défini à `true` alors la fonction in_array() vérifiera aussi que le type du paramètre `needle` correspond au type de la valeur trouvée dans `haystack`.

  > Note:

  > Avant PHP 8.0.0, un `string` `needle` correspondra à une valeur de tableau de `0` en mode non strict et vice versa. Cela peut conduire à des résultats non souhaitables. Des cas particuliers similaires existent également pour d'autres types. Si l'on n'est pas absolument certain des types de valeurs concernés, toujours utiliser le drapeau `strict` pour éviter tout comportement inattendu.

### Valeurs de retour

Retourne `true` si `needle` est trouvé dans le tableau, `false` sinon.

### Exemples

Exemple #1 Exemple avec 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 seconde condition échoue, car in_array() est sensible à la casse. Le script retourne :

    Got Irix

Exemple #2 Exemple avec in_array() et le mode strict

    <?php
    $a = array('1.10', 12.4, 1.13);

    if (in_array('12.4', $a, true)) {
        echo "'12.4' est trouvé avec le mode strict\n";
    }

    if (in_array(1.13, $a, true)) {
        echo "1.13 est trouvé avec le mode strict\n";
    }
    ?>

L'exemple ci-dessus va afficher :

    1.13 est trouvé avec le mode strict

Exemple #3 Exemple avec in_array() et un tableau en paramètre

    <?php
    $a = array(array('p', 'h'), array('p', 'r'), 'o');

    if (in_array(array('p', 'h'), $a)) {
        echo "'ph' a été trouvé\n";
    }

    if (in_array(array('f', 'i'), $a)) {
        echo "'fi' a été trouvé\n";
    }

    if (in_array('o', $a)) {
        echo "'o' a été trouvé\n";
    }
    ?>

L'exemple ci-dessus va afficher :

    'ph' a été trouvé
    'o' a été trouvé

### Voir aussi

- array_search() - Recherche dans un tableau la première clé associée à la valeur
- isset() - Détermine si une variable est déclarée et est différente de null
- array_key_exists() - Vérifie si une clé existe dans un tableau

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open