Maison  >  Article  >  développement back-end  >  PHP détermine s'il se trouve dans un tableau

PHP détermine s'il se trouve dans un tableau

王林
王林original
2023-05-07 16:05:08447parcourir

En PHP, c'est une opération très courante pour déterminer si une valeur existe dans un tableau. Normalement, nous pouvons utiliser la fonction in_array pour porter des jugements. Cependant, dans le processus de développement réel, l'efficacité de l'utilisation de la fonction in_array n'est pas optimale, car la fonction in_array doit parcourir l'ensemble du tableau. Lorsque le tableau est plus grand, la complexité temporelle sera plus élevée, ce qui entraînera une exécution plus lente du programme. Nous devons donc trouver des moyens plus efficaces de résoudre ce problème.

Cet article présentera deux méthodes efficaces pour déterminer si une valeur existe dans un tableau.

Méthode 1 : Utiliser la fonction array_key_exists

array_key_exists La fonction peut vérifier si une clé existe dans le tableau, afin que nous puissions utiliser la valeur que nous devons trouver comme valeur clé du tableau, de sorte que Atteindre une vitesse de récupération très rapide. Voici un exemple de code qui utilise la fonction array_key_exists pour déterminer si une valeur existe dans un tableau :

$my_array = array('apple', 'banana', 'orange', 'kiwi');

if (array_key_exists('banana', array_flip($my_array))) {
    echo 'The value exists in the array';
} else {
    echo 'The value does not exist in the array';
}

Analyse du code :

  1. Utilisez la fonction array_flip pour changer la valeur dans le tableau d'origine est la valeur clé, et la valeur clé d'origine devient la valeur. Cela est dû au fait que la fonction array_key_exists peut uniquement vérifier si une clé existe dans le tableau, et non si une valeur existe dans le tableau.
  2. Passez la valeur que vous souhaitez trouver en paramètre de la fonction array_key_exists.
  3. Si true est renvoyé, cela signifie que la valeur existe dans le tableau ; si false est renvoyé, cela signifie qu'elle n'existe pas.

L'avantage d'utiliser la fonction array_key_exists est qu'elle est rapide, mais l'inconvénient est qu'elle ne peut vérifier que si la clé existe dans le tableau, elle ne convient donc qu'aux situations où la valeur qui doit être vérifiée est elle-même la valeur clé du tableau.

Méthode 2 : Utiliser la fonction isset

La fonction isset est utilisée en PHP pour vérifier si une variable a été déclarée et affectée d'une valeur. Lors de la vérification si une valeur existe dans un tableau, nous pouvons utiliser la fonction isset pour déterminer si la valeur clé spécifiée existe dans le tableau. Par exemple, l'exemple de code suivant :

$my_array = array('apple', 'banana', 'orange', 'kiwi');

if (isset($my_array[array_search('banana', $my_array)])) {
    echo 'The value exists in the array';
} else {
    echo 'The value does not exist in the array';
}

Analyse du code :

  1. Utilisez la fonction array_search pour trouver la valeur clé correspondant à la valeur que vous souhaitez rechercher dans le tableau.
  2. Passez le tableau et la valeur de la clé en tant que paramètres dans la fonction isset.
  3. Si true est renvoyé, cela signifie que la valeur existe dans le tableau ; si false est renvoyé, cela signifie qu'elle n'existe pas.

L'avantage d'utiliser la fonction isset est qu'elle peut vérifier si la valeur existe dans le tableau. L'inconvénient est qu'elle est relativement lente. Lorsque la taille du tableau est grande, il y en a. un goulot d’étranglement en termes de performances.

Conclusion

Dans le processus de développement actuel, la méthode appropriée doit être sélectionnée en fonction de la situation spécifique. Si la valeur que vous devez vérifier est déjà une valeur clé dans le tableau, vous pouvez utiliser la fonction array_key_exists ; si la valeur que vous devez vérifier n'est pas une valeur clé, vous pouvez utiliser la fonction isset. Cependant, quelle que soit la méthode utilisée, il convient de prêter attention aux problèmes de performances afin d'éviter un fonctionnement inefficace du programme en raison d'une taille de tableau excessive.

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