Maison > développement back-end > tutoriel php > PHP détermine si une clé spécifiée existe dans un tableau

PHP détermine si une clé spécifiée existe dans un tableau

王林
Libérer: 2024-03-21 21:22:02
avant
624 Les gens l'ont consulté

Déterminer si une clé spécifiée existe dans un tableau en PHP est l'un des problèmes courants en programmation. En PHP, nous pouvons utiliser la fonction array_key_exists() pour déterminer si la clé spécifiée existe dans le tableau. Si elle existe, elle renvoie vrai, sinon elle renvoie faux. Grâce à cette méthode simple, nous pouvons facilement déterminer si le tableau contient la clé dont nous avons besoin et effectuer le traitement logique correspondant. Jetons un coup d'œil à la méthode de mise en œuvre spécifique.

PHP détermine si la clé spécifiée existe dans un tableau

 :

En php, il existe de nombreuses façons de déterminer si une clé spécifiée existe dans un tableau :

1. Utilisez la fonction isset() :

isset($array["key"])
Copier après la connexion

Cette fonction renvoie une valeur booléenne, si la clé spécifiée existe, elle renvoie vrai, sinon elle renvoie faux.

2. Utilisez la fonction array_key_exists() :

array_key_exists("key", $array)
Copier après la connexion

Cette fonction renvoie également une valeur booléenne, mais contrairement à isset(), elle ne détecte pas les propriétés héritées.

3. Utilisez la fonction in_array() (non recommandé) :

in_array("key", array_keys($array))
Copier après la connexion

La fonction renvoie une valeur booléenne, mais elle convertit les clés du tableau en chaînes, donc les clés numériques peuvent ne pas être détectées.

4. Utilisez la fonction array_search() :

array_search("key", $array)
Copier après la connexion

Cette fonction renvoie le index de la clé spécifiée dans le tableau. Si la clé n'existe pas, elle renvoie false.

5. Utilisez l'opérateur += :

$array["key"] += 0;
Copier après la connexion

Si la clé existe, cette opération augmentera la valeur correspondant à la clé de 0, sinon une nouvelle clé sera ajoutée et sa valeur sera mise à 0. Vérifiez ensuite si $array["key"] vaut 0 pour déterminer si la clé existe.

6. Utilisez la fonction vide() (non recommandé) :

empty($array["key"])
Copier après la connexion

Cette fonction renvoie une valeur booléenne, si la clé n'existe pas ou est vide, elle renvoie vrai, sinon elle renvoie faux.

Comparaison des performances :

  • isset() et array_key_exists() fonctionnent mieux pour les grands tableaux.
  • in_array() et array_search() fonctionnent mieux pour les petits tableaux.
  • += Operator et empty() ont les pires performances et ne sont pas recommandés.

Choisissez la meilleure méthode :

La méthode à choisir dépend de la situation :

  • Si vous devez faire la distinction entre une clé qui n'existe pas et une clé nulle, utilisez isset().
  • Si les propriétés héritées ne sont pas prises en compte, utilisez array_key_exists().
  • Si vous souhaitez obtenir l'index de la clé, utilisez array_search().
  • Si vous devez ajouter une nouvelle clé ou effectuer opérations mathématiques sur la valeur d'une clé existante, utilisez l'opérateur +=.

Exemple :

$array = ["name" => "John", "age" => 30];

if (isset($array["name"])) {
echo "Name exists";
}

if (array_key_exists("age", $array)) {
echo "Age exists";
}

if (array_search("name", $array) !== false) {
echo "Name has index " . array_search("name", $array);
}

$array["hobby"] += 0;
if ($array["hobby"] === 0) {
echo "Hobby does not exist";
}
Copier après la connexion

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!

Étiquettes associées:
source:lsjlt.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal