in_array
PHP Manual
PHP Manual»Fonctions sur les tableaux»in_array

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:

Antérieur à PHP 8.0.0, un needle de type string non numérique correspondait de manière lâche à une valeur 0 de haystack, et inversement. À partir de PHP 8.0.0, le nombre est converti en string et les deux sont comparés en tant que chaînes ; seule une string numérique de même valeur correspond donc encore.

Le mode non strict utilise néanmoins une comparaison lâche, si bien que des valeurs de types différents peuvent toujours être considérées comme égales : true correspond à toute string évaluée à vrai, et false correspond à la fois à "" et à "0". À moins de connaître avec certitude les types de toutes les valeurs concernées, il faut toujours fournir strict pour forcer une comparaison d'identité.

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

To Top