Maison  >  Article  >  développement back-end  >  Analyse des fonctions communes PHP : in_array()

Analyse des fonctions communes PHP : in_array()

WBOY
WBOYoriginal
2023-06-19 23:22:403897parcourir

En PHP, la fonction in_array() est une fonction très couramment utilisée. Elle permet de déterminer si une valeur existe dans un tableau. Dans cet article, nous fournirons une analyse approfondie de la fonction in_array(). La syntaxe de la fonction

in_array() est la suivante :

bool in_array(mixed $needle, array $haystack[, bool $strict = FALSE])

où, $needle est la valeur à récupérer, $haystack est le tableau cible, $ strict indique s'il faut utiliser le mode strict (c'est-à-dire s'il faut prendre en compte les types) et la valeur par défaut est FALSE.

Ensuite, regardons d'abord un exemple :

$fruits = array("apple", "banana", "orange");
if (in_array("apple", $fruits)) {
    echo "有苹果哦!";
}

Le résultat de ce code sera "Il y a des pommes !" car "pomme" existe dans le tableau $fruits.

Ensuite, examinons différentes situations.

Cas 1 : Pour les types de valeurs simples, la fonction in_array() utilise le mode détendu par défaut, c'est-à-dire que le type n'est pas pris en compte. Par exemple :

$numbers = array(1, 2, 3, 4, 5);
if (in_array("2", $numbers)) { // 注意,这里的 2 是一个字符串
    echo "2 存在于数组中";
}

Le résultat de sortie de ce code sera également "2 existe dans le tableau", même si "2" est une chaîne, elle peut être mise en correspondance avec succès.

Pour utiliser le mode strict, vous devez définir le troisième paramètre sur TRUE. Par exemple :

$numbers = array(1, 2, 3, 4, 5);
if (in_array("2", $numbers, TRUE)) {
    echo "2 存在于数组中";
} else {
    echo "2 不是数组的元素";
}

La sortie de ce code sera "2 n'est pas un élément du tableau" car en mode strict, "2" et 2 sont de types différents et ne peuvent pas être mis en correspondance avec succès.

Cas 2 : Pour les valeurs de types composites (par exemple, des tableaux), la fonction in_array() utilise également le mode détendu par défaut, c'est-à-dire que tant qu'un des éléments correspond avec succès, la valeur entière sera prise en compte un match réussi. Par exemple :

$person1 = array("name" => "John", "age" => 30);
$person2 = array("name" => "Mary", "age" => 25);
$people = array($person1, $person2);
if (in_array(array("name" => "John"), $people)) {
    echo "有一个人叫 John!";
}

Le résultat de ce code sera "Il y a une personne nommée John !" car l'élément "name" de $person1 correspond avec succès.

Cas 3 : Lorsque la valeur dans le tableau cible est NULL, la fonction in_array() ne considère pas que la valeur n'existe pas. Par exemple :

$values = array("a", "b", NULL);
if (in_array(NULL, $values)) {
    echo "NULL 存在于数组中";
}

La sortie de ce code sera "NULL existe dans le tableau".

En résumé, la fonction in_array() est une fonction très pratique et largement utilisée. Lorsque vous devez déterminer si une valeur existe dans un tableau lors du développement, vous pouvez donner la priorité à l'utilisation de cette fonction. Dans le même temps, veillez à utiliser le mode strict pour éviter les problèmes de non-concordance de types.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn