(PHP 4, PHP 5, PHP 7, PHP 8)
in_array — Indique si une valeur appartient à un tableau
Recherche needle
dans haystack
en utilisant une comparaison
souple à moins que strict
ne soit utilisé.
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éfinit à
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 de0
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 vous n'êtes pas absolument certain des types de valeurs concernés, utilisez toujours le drapeaustrict
pour éviter tout comportement inattendu.
Retourne true
si needle
est trouvé dans le tableau,
false
sinon.
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' was found\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é