Maison  >  Article  >  développement back-end  >  Comment déterminer si une valeur est dans un tableau en php

Comment déterminer si une valeur est dans un tableau en php

PHPz
PHPzoriginal
2023-04-25 09:05:12441parcourir

En programmation PHP, il est souvent nécessaire de déterminer si une certaine valeur se trouve dans un tableau. Cela peut généralement être réalisé à l'aide de la fonction in_array(). Cependant, nous devons parfois déterminer si une valeur ne se trouve pas dans le tableau, alors comment devons-nous procéder ?

Dans cet article, nous présenterons trois méthodes couramment utilisées pour déterminer si une valeur ne se trouve pas dans un tableau, ainsi que leurs avantages, inconvénients et scénarios applicables. Tout d'abord, voyons comment utiliser la fonction in_array() :

in_array($needle, $haystack);

où $needle représente la valeur à trouver et $haystack représente le tableau dans lequel rechercher. Si $needle est dans $haystack, la fonction renvoie vrai sinon, elle renvoie faux.

Ensuite, pour déterminer si une valeur n'est pas dans le tableau, il vous suffit d'ajouter une opération de négation avant le résultat de la fonction in_array(), comme indiqué ci-dessous :

!in_array($needle, $haystack);

De cette façon, vous pouvez déterminer si $needle n'est pas dans $haystack . Cependant, cette méthode présente un inconvénient, c'est-à-dire que lorsque $needle est dans $haystack, la fonction retournera toujours false et le résultat devra être à nouveau inversé pour obtenir la bonne réponse.

La méthode ci-dessus peut également être réécrite sous la forme suivante :

array_search($needle, $haystack) === false;

La fonction array_search() est utilisée pour trouver une valeur dans le tableau Si elle est trouvée, la clé de la valeur dans le tableau est renvoyée ; est revenu. Par conséquent, si vous souhaitez déterminer que $needle n'est pas dans $haystack, vous pouvez déterminer si la valeur de retour de array_search($needle, $haystack) est égale à false.

Cependant, cette méthode présente également un inconvénient, c'est-à-dire que si $needle est dans $haystack, la fonction renverra la clé de l'élément dans le tableau au lieu de renvoyer true. Il faudra donc comparer à nouveau les résultats pour obtenir la bonne réponse.

Enfin, nous introduisons une méthode plus simple et plus efficace, utilisant les opérateurs PHP ! = et !==, comme indiqué ci-dessous :

!($value != array_search($needle, $haystack));

Le principe de cette méthode est que si $needle est dans $haystack, array_search($needle, $haystack) renvoie la clé de l'élément dans le tableau, et $value est égal à La clé ; sinon, $value est égal à false. Par conséquent, il vous suffit de déterminer si $value est égal à array_search ($needle, $haystack), puis d'effectuer l'opération d'inversion pour obtenir la bonne réponse.

En bref, en programmation PHP, vous pouvez utiliser les trois méthodes ci-dessus pour déterminer si une valeur n'est pas dans un tableau. Lors du choix de la méthode appropriée, vous devez tenir compte de la situation spécifique et choisir la méthode la plus appropriée pour mettre en œuvre la fonction.

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