Maison > développement back-end > Problème PHP > 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
Libérer: 2023-04-18 10:42:36
original
955 Les gens l'ont consulté

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"
);
Copier après la connexion

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

if(isset($array["foo"])){
  echo "foo exists!";
}
Copier après la connexion

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"
  )
);
Copier après la connexion
Copier après la connexion

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!";
}
Copier après la connexion

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"
  )
);
Copier après la connexion
Copier après la connexion

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;
}
Copier après la connexion

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!";
}
Copier après la connexion

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!

source:php.cn
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