Maison > Article > développement back-end > Comment déterminer si une certaine valeur existe dans un tableau en php
En tant que langage de programmation largement utilisé dans le développement Web, PHP fournit une multitude de fonctions et de méthodes pour gérer différents types de données, y compris les tableaux. Lors de l'utilisation de tableaux, il est courant de déterminer si une certaine valeur existe dans le tableau. Alors, comment implémenter cette fonction en PHP ? Cet article vous présentera plusieurs méthodes couramment utilisées.
PHP fournit une fonction in_array(), qui peut facilement déterminer si une valeur existe dans un tableau. Le prototype de cette fonction est le suivant :
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Parmi eux, $needle représente la valeur à trouver, $haystack représente le tableau à trouver, $strict représente s'il faut utiliser le mode strict, et la valeur par défaut est false. Si la valeur est trouvée, renvoyez true ; sinon, renvoyez false.
Par exemple, nous avons un tableau $fruits avec le contenu ["apple", "banana", "pineapple", "orange"]. Maintenant, pour savoir si la valeur "banana" existe, vous pouvez utiliser le in_array. (), Le code est le suivant :
$fruits = array("apple", "banana", "pineapple", "orange"); if (in_array("banana", $fruits)) { echo "该值已存在于数组中"; } else { echo "该值不存在于数组中"; }
Comme le montre le code ci-dessus, si la valeur "banane" existe, elle affichera "la valeur existe déjà dans le tableau" sinon, elle affichera "la valeur" ; la valeur n'existe pas dans le tableau".
Il est à noter que la fonction in_array() utilise par défaut le mode non strict, c'est-à-dire que si la valeur trouvée est incohérente avec le type de données d'un élément du tableau, elle sera également considérée comme existant. Si vous souhaitez utiliser le mode strict, vous devez définir le paramètre $strict sur true. Par exemple :
$numbers = array(1, 2, 3, "4"); if (in_array("4", $numbers, true)) { echo "该值已存在于数组中"; } else { echo "该值不存在于数组中"; }
Comme le montre le code ci-dessus, bien qu'il y ait un élément dans le tableau avec une valeur de 4, puisqu'il s'agit d'un type chaîne et que la valeur à trouver est un type numérique, il sera considéré en mode non strict N'existe pas. Si le paramètre $strict est défini sur true, le mode strict sera utilisé pour la recherche et "la valeur n'existe pas dans le tableau" sera affiché.
Semblable à la fonction in_array(), PHP fournit également une autre fonction array_search(), qui peut trouver une valeur dans un tableau et renvoyer l'indice où se trouve la valeur. Le prototype de cette fonction est le suivant :
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
Parmi eux, $needle représente la valeur à trouver, $haystack représente le tableau à trouver, $strict représente s'il faut utiliser le mode strict, et la valeur par défaut est false. Si la valeur est trouvée, l'indice auquel se trouve la valeur est renvoyé ; sinon, false est renvoyé.
Par exemple, nous avons un tableau $numbers avec le contenu [1, 2, 3, 4, 5]. Nous voulons maintenant savoir s'il existe un élément avec une valeur de 4 et afficher l'indice de l'élément You. peut utiliser la fonction array_search(), le code est le suivant :
$numbers = array(1, 2, 3, 4, 5); if (($key = array_search(4, $numbers)) !== false) { echo "该值存在于数组中,其下标为" . $key; } else { echo "该值不存在于数组中"; }
Comme le montre le code ci-dessus, si un élément avec une valeur de 4 est trouvé, il affichera "Cette valeur existe dans le tableau, et son indice est 3" ; sinon, il affichera "Cette valeur n'existe pas dans le tableau" dans le tableau".
Il convient également de noter que la fonction array_search() utilisera également le mode non strict pour rechercher. Si vous souhaitez utiliser le mode strict, vous devez définir le paramètre $strict sur true. Par exemple :
$numbers = array(1, 2, 3, "4", 5); if (($key = array_search("4", $numbers, true)) !== false) { echo "该值存在于数组中,其下标为" . $key; } else { echo "该值不存在于数组中"; }
Comme vous pouvez le voir dans le code ci-dessus, en mode non strict, vous pouvez trouver l'élément avec la valeur "4" et afficher "La valeur existe dans le tableau et son indice est 3". En mode strict, puisque la valeur à trouver est de type chaîne et que la valeur de l'élément dans le tableau est de type numérique et ne peut pas correspondre, "la valeur n'existe pas dans le tableau" sera affiché.
En plus des deux fonctions ci-dessus, vous pouvez également utiliser les fonctions isset() et array_key_exists() pour déterminer si une clé ou un indice existe dans le tableau. La fonction
isset() peut détecter si une variable a été définie et n'est pas nulle. Si la variable a été définie et n’est pas nulle, renvoie vrai, sinon renvoie faux ; Lorsque vous vérifiez si une clé existe dans un tableau, vous pouvez utiliser la fonction isset(). Par exemple :
$person = array("name" => "Tom", "age" => 20); if (isset($person["name"])) { echo "该键存在于数组中"; } else { echo "该键不存在于数组中"; }
Comme le montre le code ci-dessus, s'il y a un élément avec la clé « nom », il affichera « la clé existe dans le tableau » sinon, il affichera « la clé n'existe pas » ; dans le tableau".
Il convient de noter que lors de la détection d'éléments de tableau inexistants, la fonction isset() renverra false sans lancer d'avertissement. Par exemple :
$numbers = array(1, 2, 3, 4, 5); if (isset($numbers[5])) { echo "该下标存在于数组中"; } else { echo "该下标不存在于数组中"; }
Comme le montre le code ci-dessus, puisque l'élément avec l'indice 5 n'existe pas dans le tableau, "L'indice n'existe pas dans le tableau" sera affiché.
Semblable à la fonction isset(), la fonction array_key_exists() peut également détecter si une clé existe dans un tableau. Le prototype de cette fonction est le suivant :
bool array_key_exists ( mixed $key , array $array )
Parmi eux, $key représente la clé à rechercher, et $array représente le tableau à rechercher. Si la clé est trouvée, renvoie vrai ; sinon, renvoie faux.
Par exemple, nous avons un tableau $person avec le contenu ["name" => "Tom", "age" => 20]. Nous voulons maintenant savoir s'il contient un élément avec la clé "name". , et afficher s'il existe, vous pouvez utiliser la fonction array_key_exists(), le code est le suivant :
$person = array("name" => "Tom", "age" => 20); if (array_key_exists("name", $person)) { echo "该键存在于数组中"; } else { echo "该键不存在于数组中"; }
Comme le montre le code ci-dessus, s'il y a un élément avec la clé "name", il affichera "le la clé existe dans le tableau ; sinon, il affichera " la clé " n'existe pas dans le tableau ».
En bref, juger si une certaine valeur ou clé existe dans un tableau est une opération courante en PHP, et elle est également très simple à mettre en œuvre. En plus des méthodes présentées ci-dessus, il existe de nombreuses autres fonctions et méthodes permettant d'atteindre cette fonction. Lors de son utilisation, vous pouvez choisir la méthode la plus adaptée en fonction de la situation réelle pour améliorer l'efficacité et la lisibilité du programme.
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!