Maison  >  Article  >  développement back-end  >  Comment déterminer si un tableau multidimensionnel contient une certaine valeur clé en PHP

Comment déterminer si un tableau multidimensionnel contient une certaine valeur clé en PHP

PHPz
PHPzoriginal
2023-04-18 10:25:20795parcourir

PHP est un langage de programmation très populaire qui peut être utilisé pour développer différents types d'applications et de sites Web. En PHP, la manipulation de tableaux est l'une des exigences les plus courantes. Un tableau multidimensionnel est une structure de données complexe composée de plusieurs tableaux, souvent utilisée pour stocker et traiter de grandes quantités de données. Dans ce cas, nous devons souvent vérifier si un tableau multidimensionnel contient une certaine valeur clé. Cet article explique comment déterminer si un tableau multidimensionnel contient une certaine valeur de clé en PHP.

Généralement, nous pouvons utiliser la fonction isset() pour vérifier si une certaine valeur clé existe dans un tableau. Par exemple, étant donné le tableau suivant :

$array = array(
  "foo" => "bar",
  "bar" => "foo"
);

Nous pouvons utiliser la fonction isset() pour vérifier si le tableau contient la clé "foo" :

if(isset($array["foo"])){
  echo "foo exists!";
}

Dans l'exemple ci-dessus, nous avons utilisé la fonction isset() pour vérifier si le tableau contient La clé "foo" existe Si elle existe, le message "foo existe !"

Cependant, dans les tableaux multidimensionnels, les choses deviennent un peu plus compliquées. Nous ne pouvons pas simplement utiliser la fonction isset() pour vérifier si une valeur clé est contenue dans un tableau multidimensionnel. Nous devons utiliser d'autres méthodes pour accomplir cette tâche.

Méthode 1 : utilisez la fonction array_key_exists()

Tout d'abord, nous pouvons utiliser la fonction array_key_exists() pour vérifier si un tableau multidimensionnel contient une certaine valeur de clé. La fonction array_key_exists() peut recevoir deux paramètres. Le premier paramètre est le nom de la clé à vérifier et le deuxième paramètre est le tableau.

Par exemple, étant donné le tableau multidimensionnel suivant :

$array = array(
  "foo" => array(
    "bar" => "baz"
  )
);

Nous pouvons utiliser la fonction array_key_exists() pour vérifier si la clé "bar" est contenue dans ce tableau :

if(array_key_exists("bar", $array["foo"])){
  echo "bar exists!";
}

Dans l'exemple ci-dessus, nous avons utilisé la fonction array_key_exists() fonction pour vérifier si la clé « bar » existe dans le tableau multidimensionnel. Si elle existe, le message « bar existe ! » est affiché.

Méthode 2 : utiliser une fonction récursive

Une autre méthode consiste à écrire une fonction récursive pour vérifier si une certaine valeur clé est contenue dans le tableau multidimensionnel. Une fonction récursive peut parcourir chaque sous-tableau d'un tableau multidimensionnel, puis vérifier si chaque sous-tableau contient une valeur clé.

Par exemple, étant donné le tableau multidimensionnel suivant :

$array = array(
  "foo" => array(
    "bar" => "baz"
  )
);

Nous pouvons écrire la fonction récursive suivante pour vérifier si la clé "bar" est contenue dans ce tableau :

function array_key_exists_recursive($key, $array) {
    if (array_key_exists($key, $array)) {
        return true;
    }
    foreach ($array as $element) {
        if (is_array($element)) {
            if (array_key_exists_recursive($key, $element)) {
                return true;
            }
        }
    }
    return false;
}

Dans l'exemple ci-dessus, nous avons défini une fonction récursive appelé array_key_exists_recursive . Cette fonction reçoit deux paramètres, le premier paramètre est le nom de la clé à vérifier et le deuxième paramètre est un tableau. Cette fonction vérifie d'abord si la valeur de la clé est contenue dans le tableau actuel et si c'est le cas, renvoie vrai. Sinon, parcourez chaque sous-tableau du tableau et appelez la fonction array_key_exists_recursive de manière récursive pour vérifier si la valeur de clé est contenue dans le sous-tableau. Enfin, si la valeur clé n'est pas trouvée, false est renvoyé.

En utilisation réelle, nous pouvons appeler cette fonction récursive pour vérifier si le tableau multidimensionnel contient une certaine valeur clé. Par exemple :

if(array_key_exists_recursive("bar", $array)){
  echo "bar exists!";
}

Dans l'exemple ci-dessus, nous utilisons la fonction array_key_exists_recursive() pour vérifier si la clé « bar » existe dans le tableau multidimensionnel. Si elle existe, le message « bar existe !

Résumé

En PHP, déterminer si un tableau multidimensionnel contient une certaine valeur clé est une tâche courante. Bien que vous puissiez utiliser la fonction isset() pour vérifier si une valeur clé existe dans un tableau unidimensionnel, vérifier si une valeur clé existe dans un tableau multidimensionnel nécessite l'utilisation d'autres méthodes. Cet article présente deux méthodes, l'une consiste à utiliser la fonction array_key_exists() et l'autre consiste à écrire une fonction récursive pour vérifier. En fonction de la situation réelle, nous pouvons choisir une méthode appropriée pour déterminer si le tableau multidimensionnel contient une certaine valeur clé.

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