Maison  >  Article  >  développement back-end  >  Comment trouver plusieurs valeurs dans un tableau en PHP et renvoyer les noms de clés correspondants

Comment trouver plusieurs valeurs dans un tableau en PHP et renvoyer les noms de clés correspondants

王林
王林original
2023-07-08 08:48:091094parcourir

Comment trouver plusieurs valeurs dans un tableau et renvoyer le nom de clé correspondant en PHP

Dans le développement PHP, nous rencontrons souvent des situations où nous devons rechercher plusieurs valeurs dans un tableau et trouver le nom de clé de la valeur correspondante . Cet article présentera une méthode pour réaliser cette fonction et fournira des exemples de code correspondants.

Tout d’abord, regardons la structure du tableau que nous recherchons. Supposons que nous ayons un tableau associatif qui stocke certaines informations utilisateur, telles que le nom d'utilisateur, l'âge et le sexe. Un exemple est le suivant :

$user_info = array(
    'john' => array(
        'age' => 25,
        'gender' => 'male'
    ),
    'amy' => array(
        'age' => 32,
        'gender' => 'female'
    ),
    'peter' => array(
        'age' => 28,
        'gender' => 'male'
    ),
    'susan' => array(
        'age' => 30,
        'gender' => 'female'
    )
);

Maintenant, supposons que nous devions trouver des utilisateurs âgés de 32 ans et dont le sexe est féminin. Nous voulons obtenir le nom clé de l'utilisateur, qui est "amy". Voici un exemple de code pour implémenter cette fonction :

function searchUser($array, $conditions) {
    foreach ($array as $key => $value) {
        $match = 0;
        foreach ($conditions as $condition_key => $condition_value) {
            if ($value[$condition_key] == $condition_value) {
                $match++;
            }
        }
        if ($match == count($conditions)) {
            return $key;
        }
    }
    return null;
}

$conditions = array(
    'age' => 32,
    'gender' => 'female'
);

$result = searchUser($user_info, $conditions);

if ($result) {
    echo "找到匹配的用户,键名为:" . $result;
} else {
    echo "未找到匹配的用户";
}

Dans le code ci-dessus, nous définissons une fonction nommée searchUser, qui accepte deux paramètres : le tableau à rechercher et les conditions de recherche. searchUser的函数,该函数接受两个参数:要查找的数组和查找条件。

在函数内部,我们使用了两层嵌套的循环。外层循环遍历数组的每个元素,内层循环遍历查找条件数组中的每个条件。

在内层循环中,我们比较数组中对应键的值是否和当前查找条件相等。如果相等,我们增加一个计数器$match的值。如果$match的值等于查找条件数组的长度,说明所有条件都匹配,我们返回当前循环的键名。

如果没有找到匹配的用户,我们最终返回null

在主程序中,我们定义了一个查找条件数组$conditions,然后调用searchUser

À l'intérieur de la fonction, nous utilisons deux niveaux de boucles imbriquées. La boucle externe parcourt chaque élément du tableau et la boucle interne parcourt chaque condition du tableau de conditions de recherche.

Dans la boucle interne, nous comparons si la valeur de la clé correspondante dans le tableau est égale à la condition de recherche actuelle. S'ils sont égaux, on incrémente un compteur $match. Si la valeur de $match est égale à la longueur du tableau de conditions de recherche, cela signifie que toutes les conditions correspondent et nous renvoyons le nom de clé de la boucle actuelle.


Si aucun utilisateur correspondant n'est trouvé, nous renvoyons finalement null.

🎜Dans le programme principal, nous définissons un tableau de conditions de recherche $conditions, puis appelons la fonction searchUser pour trouver les utilisateurs correspondants. Enfin, sur la base des résultats renvoyés, nous générons les informations d'invite correspondantes. 🎜🎜Avec l'exemple de code ci-dessus, nous pouvons implémenter la fonction permettant de rechercher plusieurs valeurs dans un tableau et de renvoyer les noms de clés correspondants. 🎜🎜Résumé : 🎜Dans le développement PHP, nous devons parfois trouver plusieurs valeurs dans un tableau et renvoyer les noms de clés correspondants. En utilisant une double boucle et des conditions de jugement appropriées, nous pouvons réaliser cette fonctionnalité. L'exemple de code ci-dessus fournit une méthode d'implémentation pour votre référence et votre utilisation. J'espère que cet article sera utile à tout le monde dans la recherche de tableaux PHP. 🎜

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