HOWTO · PHP
Vérifiez si la clé existe dans le tableau en PHP
Votre script peut avoir besoin de vérifier si une clé particulière existe ou non pour effectuer une opération sur la valeur.
Sur cette page
Un tableau est une variable unique en PHP qui contient de nombreux éléments à l’intérieur. Chaque élément stocké dans le tableau a un index unique comme la clé primaire dans la base de données qui lui est assignée. Vous pouvez accéder à l’élément d’un tableau en utilisant cet index. Votre script peut avoir besoin de vérifier si une clé particulière existe ou non pour effectuer une opération sur la valeur. Dans cet article de tutoriel, nous verrons comment vérifier si une clé spécifique existe ou non dans votre tableau.
PHP prend en charge trois types de tableaux :
- Tableaux indexés - Tableaux avec un index numérique, où seules les valeurs sont fournies. Par exemple.
array(1,2,3). - Tableaux associatifs - Tableaux avec des clés nommées, où la clé est également définie avec une valeur comme un objet JSON. Par exemple.
array("first" => 1, "second" => 2). - Tableaux multidimensionnels - Tableaux contenant un ou plusieurs tableaux imbriqués. Par exemple,
array(array("a", "b", "c"), array("d", "e", "f"), array("g", "h", "i")).
PHP fournit deux façons de découvrir que le tableau contient une clé ou non. Tout d’abord, nous allons comprendre ces deux méthodes, puis les comparer pour obtenir notre résultat.
Vérifiez si la clé existe dans le tableau PHP à l’aide de la fonction array_key_exists()
PHP fournit une fonction intégrée array_key_exists, qui vérifie si la clé ou l’index donné existe dans le tableau fourni. La fonction array_key_exists fonctionne avec les tableaux indexés et les tableaux associatifs, mais les clés imbriquées dans les tableaux multidimensionnels ne seront pas trouvées. array_key_exists recherchera les clés dans la première dimension uniquement. Si aucune paire clé-valeur n’existe, le tableau considère les clés numériques comme des clés par défaut à partir de zéro.
Syntaxe de array_key_exists()
array_key_exists(string|int $key, array $array): bool
Paramètres
$key (obligatoire): Ce paramètre fait référence à la clé/l’index à rechercher dans un tableau d’entrée.$array (obligatoire): ce paramètre fait référence au tableau/à la botte de foin d’origine dans lequel nous voulons rechercher la clé/l’index donné$clé.
Valeurs de retour
Il renvoie vrai si clé/index est trouvé ou faux si clé/index n’est pas trouvé.
Exemple de code
<?php
$search_array = array('first' => 1, 'second' => 2);
if (array_key_exists('first', $search_array)) {
echo "The 'first' element is found in the array";
} else {
echo "Key does not exist";
}
?>
Production :
The 'first' element is found in the array
Vérifiez si la clé existe dans le tableau PHP à l’aide de la fonction isset()
PHP fournit la fonction isset(), qui détermine si une variable est définie ; cela signifie qu’une variable est déclarée et qu’une valeur autre que null lui est affectée. isset() retournera false lorsqu’une variable a été affectée à null.
Syntaxe de isset()
isset(mixed $var, mixed ...$vars): bool
Vous pouvez passer de nombreux paramètres, si de nombreux paramètres sont fournis, alors isset() ne retournera vrai que si tous les paramètres passés sont tous définis. PHP évalue de gauche à droite et s’arrête dès qu’une variable non définie est rencontrée.
Paramètres
$var: La première variable à vérifier.$vars: Autres variables à vérifier.
Valeurs de retour
Elle renvoie true si la variable existe et a une valeur autre que null, sinon false.
Exemple de code
<?php
$search_array = array('first' => 1, 'second' => 2);
if (isset($search_array['first'])) {
echo "The 'first' element is found in the array";
} else {
echo "Key does not exist";
}
?>
Production :
The 'first' element is found in the array
array_key_exists() vs isset() en PHP
isset() ne renvoie pas true pour les clés de tableau qui correspondent à une valeur null, tandis que array_key_exists() renvoie true.
<?php
$search_array = array('first' => null, 'second' => 2);
echo isset($search_array['first']) ? "true" : "false";
echo "\n";
echo array_key_exists('first', $search_array) ? "true" : "false";
?>
Production :
false
true