tableau multidimensionnel de requête php

WBOY
Libérer: 2023-05-28 15:31:41
original
990 Les gens l'ont consulté

PHP est un langage de programmation puissant souvent utilisé pour développer des applications Web. Lors du développement d'applications Web via PHP, nous devons souvent gérer des tableaux multidimensionnels. Un tableau multidimensionnel est un tableau qui contient un autre tableau. Ces tableaux peuvent être imbriqués sur plusieurs niveaux dans une structure complexe. Comment interroger de tels tableaux multidimensionnels est devenu un problème auquel sont confrontés les développeurs.

PHP fournit certaines fonctions intégrées pour gérer les tableaux multidimensionnels, notamment array_search(), array_key_exists(), in_array(), array_walk_recursive(), etc. Cet article présentera plusieurs de ces fonctions pour vous aider à interroger facilement des tableaux multidimensionnels.

1. Fonction array_search()

La fonction array_search() est utilisée pour trouver l'élément spécifié dans le tableau et renvoyer son nom de clé. S'il y a plusieurs correspondances dans le tableau, la clé de la première correspondance est renvoyée. S'il n'y a pas de correspondance, renvoyez false.

Voici la syntaxe de la fonction array_search() :

array_search(search_value, array, strict)

où search_value est la valeur à trouver, array est le tableau à rechercher et strict est une valeur booléenne facultative pour Spécifie si la correspondance de type est requise lors de la recherche. S'il est défini sur true, les noms de clé des éléments avec le même type et des valeurs égales à search_value sont renvoyés. S'ils sont définis sur false ou non définis, seuls les noms de clé des éléments avec des valeurs égales sont renvoyés.

Voici un exemple de code :

$students = [
    ['name' => '张三', 'age' => 20, 'gender' => '男'],
    ['name' => '李四', 'age' => 18, 'gender' => '女'],
    ['name' => '王五', 'age' => 22, 'gender' => '男']
];

// 查询名为'李四'的学生的索引
$index = array_search('李四', array_column($students, 'name'));
echo "李四的索引是:" . $index; 
Copier après la connexion

Dans cet exemple, nous utilisons les fonctions array_search() et array_column(). La fonction array_column() permet de renvoyer un nouveau tableau contenant les valeurs de la colonne spécifiée. Dans cet exemple, nous renvoyons la colonne de nom de tous les étudiants, puis recherchons l'index de l'élément nommé « 李思 » dans ce tableau et l'imprimons.

2. Fonction array_key_exists()

La fonction array_key_exists() est utilisée pour déterminer si un nom de clé spécifié existe dans le tableau. Renvoie vrai s'il est présent, faux sinon. La syntaxe de cette fonction est la suivante :

array_key_exists(key, array)

où key est le nom de la clé à trouver, et array est le tableau à rechercher.

Ce qui suit est un exemple de code :

$students = [
    '张三' => ['age' => 20, 'gender' => '男'],
    '李四' => ['age' => 18, 'gender' => '女'],
    '王五' => ['age' => 22, 'gender' => '男']
];

// 判断'李四'是否存在
if (array_key_exists('李四', $students)) {
    echo "存在名为'李四'的学生";
} else {
    echo "不存在名为'李四'的学生";
}
Copier après la connexion

Dans cet exemple, nous utilisons la fonction array_key_exists() pour déterminer si un nom de clé existe dans le tableau. Si le nom de clé saisi '李思' existe dans le tableau, il renverra "Il y a un étudiant nommé '李思'", sinon il renverra "Il n'y a aucun étudiant nommé '李思'".

3. Fonction in_array()

La fonction in_array() est utilisée pour déterminer si une valeur spécifiée existe dans le tableau. Renvoie vrai s'il est présent, faux sinon. La syntaxe de cette fonction est la suivante :

in_array(needle, haystack, strict)

où Needle est la valeur à trouver, haystack est le tableau à rechercher, et strict est une valeur booléenne facultative utilisée pour spécifier si elle est requis lors de la recherche Type de correspondance. S'il est défini sur true, les éléments avec le même type et les mêmes valeurs que l'aiguille sont renvoyés. S'ils sont définis sur false ou non, seuls les éléments avec des valeurs égales sont renvoyés.

Ce qui suit est un exemple de code :

$fruits = ['apple', 'banana', 'orange'];

// 判断是否存在'banana'
if (in_array('banana', $fruits)) {
    echo "存在'banana'这个水果";
} else {
    echo "不存在'banana'这个水果";
}
Copier après la connexion

Dans cet exemple, nous utilisons la fonction in_array() pour déterminer si une valeur existe dans le tableau. Si la valeur d'entrée « banane » existe dans le tableau, elle renvoie « le fruit « banane » existe », sinon elle renvoie « le fruit « banane » n'existe pas ».

4. Fonction array_walk_recursive()

La fonction array_walk_recursive() est utilisée pour parcourir de manière récursive des tableaux multidimensionnels et exécuter la fonction de rappel spécifiée. La syntaxe de cette fonction est la suivante :

array_walk_recursive(array, callback, userdata)

où array est le tableau multidimensionnel à parcourir de manière récursive, callback est la fonction de rappel à exécuter et userdata est les données facultatives transmises à la fonction de rappel.

Ce qui suit est un exemple de code :

$students = [
    ['name' => '张三', 'grades' => ['math' => 80, 'english' => 85]],
    ['name' => '李四', 'grades' => ['math' => 90, 'english' => 95]],
    ['name' => '王五', 'grades' => ['math' => 85, 'english' => 80]]
];

// 计算每个学生的平均分
function calculate_average(&$value, $key, $userdata) {
    $sum = array_sum($value['grades']);
    $value['average'] = round($sum / count($value['grades']), 2);
}

array_walk_recursive($students, 'calculate_average');

print_r($students); 
Copier après la connexion

Dans cet exemple, nous utilisons la fonction array_walk_recursive() pour parcourir un tableau bidimensionnel contenant les noms et notes de plusieurs élèves, et calculer le score moyen de chaque élève. Dans la fonction de rappel calculate_average(), nous utilisons la fonction array_sum() pour calculer le score total de tous les sujets et le divisons par le nombre de sujets pour calculer le score moyen. Enfin, nous ajoutons les résultats du calcul au tableau de chaque élève et imprimons l'intégralité du tableau à l'aide de la fonction print_r().

Résumé

L'interrogation de tableaux multidimensionnels est une exigence courante dans le développement PHP. Cet article présente plusieurs fonctions intégrées, notamment array_search(), array_key_exists(), in_array(), array_walk_recursive(), etc. Ces fonctions nous aident à interroger et à traiter facilement des tableaux multidimensionnels. J'espère que les lecteurs y gagneront quelque chose.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!