Maison  >  Article  >  développement back-end  >  Comment déterminer si des données existent dans un tableau en php

Comment déterminer si des données existent dans un tableau en php

PHPz
PHPzoriginal
2023-04-18 09:06:12657parcourir

Dans le développement PHP, il est très courant de déterminer si des données existent dans un tableau. Dans la mise en œuvre d’un programme, il existe de nombreuses façons d’atteindre cette fonction. Cet article présentera plusieurs méthodes couramment utilisées et discutera de leurs avantages et inconvénients.

Méthode 1 : utilisez la fonction in_array()

La fonction in_array() est une fonction intégrée qui peut déterminer si un élément existe dans un tableau. Sa syntaxe est la suivante :

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

Parmi eux, $needle est l'élément à trouver, $haystack est le tableau à trouver et $strict est utilisé pour spécifier s'il faut utiliser une comparaison congruente (===).

Exemple de code :

$fruit = array("apple", "banana", "orange");
if (in_array("apple", $fruit)) {
    echo "存在";
} else {
    echo "不存在";
}

Avantages : La fonction in_array() est facile à utiliser et le code est concis.

Inconvénients : Lorsque le tableau est grand, les performances de la fonction in_array() sont médiocres car elle doit parcourir le tableau un par un jusqu'à ce qu'elle trouve un élément correspondant ou atteigne la fin du tableau.

Méthode 2 : Utilisez la fonction array_search()

La fonction array_search() est similaire à la fonction in_array() Elle peut trouver la position d'un élément dans le tableau et renvoyer son indice. Si l'élément n'existe pas, renvoie false. Sa syntaxe est la suivante :

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )

Parmi eux, $needle est l'élément à trouver, $haystack est le tableau à trouver et $strict est utilisé pour spécifier s'il faut utiliser une comparaison congruente (===).

Exemple de code :

$fruit = array("apple", "banana", "orange");
if (array_search("apple", $fruit) !== false) {
    echo "存在";
} else {
    echo "不存在";
}

Avantages : Les performances de l'utilisation de la fonction array_search() sont meilleures que celles de la fonction in_array() car elle renvoie l'indice immédiatement après avoir trouvé l'élément correspondant et n'a pas besoin de parcourir l'intégralité du tableau.

Inconvénients : Lorsque l'élément à trouver est contenu à plusieurs positions dans le tableau, la fonction array_search() ne renvoie que le premier indice correspondant. Si vous devez trouver les indices de tous les éléments correspondants, vous devez utiliser d'autres méthodes.

Méthode 3 : Utilisez la fonction isset()

La fonction isset() peut déterminer si la variable existe et si une valeur lui a été attribuée. Dans un tableau, il peut être utilisé pour déterminer si l'indice du tableau existe. Si l'indice existe et que la valeur de l'élément correspondant n'est pas nulle, alors true est renvoyé. Sinon, retournez false. Exemple de code :

$fruit = array("apple", "banana", "orange");
if (isset($fruit[1])) {
    echo "存在";
} else {
    echo "不存在";
}

Avantages : Les performances de l'utilisation de la fonction isset() sont très élevées, car elle n'a pas besoin de parcourir l'intégralité du tableau, il lui suffit de déterminer si l'indice spécifié existe.

Inconvénients : La fonction isset() n'est pas adaptée pour rechercher des valeurs d'éléments spécifiques. Il ne peut être utilisé que pour déterminer si un indice existe.

Méthode 4 : Utiliser la fonction array_key_exists()

La fonction array_key_exists() est utilisée pour déterminer si l'indice spécifié existe dans le tableau. Sa syntaxe est la suivante :

bool array_key_exists ( mixed $key , array $array )

Parmi eux, $key est l'indice à rechercher, et $array est le tableau à rechercher.

Exemple de fonction :

$fruit = array("apple", "banana", "orange");
if (array_key_exists(1, $fruit)) {
    echo "存在";
} else {
    echo "不存在";
}

Avantages : la fonction array_key_exists() est adaptée pour déterminer si un indice spécifique existe et ses performances sont supérieures à celles de la fonction in_array().

Inconvénient : la fonction array_key_exists() n'est pas adaptée pour rechercher des valeurs d'éléments spécifiques. Il ne peut être utilisé que pour déterminer si un indice existe.

En résumé, la méthode à utiliser pour déterminer si des données existent dans un tableau dépend des besoins spécifiques et des scénarios d'application. Lorsque vous avez besoin de trouver une valeur d'élément spécifique, les fonctions in_array() et array_search() sont toutes deux de bons choix. Si vous souhaitez savoir si un indice spécifié existe ou si vous devez vérifier si une variable a reçu une valeur, vous pouvez utiliser la fonction isset() ou la fonction array_key_exists(). Quelle que soit la méthode utilisée, soyez conscient de l’impact de la taille du tableau sur les performances et choisissez la méthode la mieux adaptée au scénario d’application réel.

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