Maison > Article > développement back-end > Comment interroger la valeur dans un tableau à deux dimensions en php
PHP est un langage de programmation largement utilisé dans le développement Web et il possède de puissantes fonctions d'opération de tableau. En PHP, les tableaux sont l’un des types de données les plus importants et les plus couramment utilisés. Cette structure de données permet aux développeurs de stocker une série de valeurs associées et de récupérer et de manipuler ces valeurs à partir d'elles.
En PHP, un tableau bidimensionnel est un type de tableau spécial où chaque élément du tableau contient un tableau. Cette structure de données est couramment utilisée pour stocker des matrices, des tableaux et d'autres structures de données complexes. Étant donné qu'un tableau bidimensionnel contient plusieurs tableaux, différentes approches sont nécessaires lors de l'interrogation.
Cet article présentera différentes manières d'interroger des valeurs dans un tableau à deux dimensions en PHP.
Méthode 1 : utiliser la boucle foreach
En PHP, vous pouvez facilement parcourir tous les éléments d'un tableau dans un tableau bidimensionnel à l'aide de la boucle foreach. Voici un exemple de tableau 2D :
$students = array(
array('name' => 'John', 'age' => 20, 'grade' => 'A'), array('name' => 'Jane', 'age' => 21, 'grade' => 'B'), array('name' => 'Jim', 'age' => 22, 'grade' => 'C')
);
Maintenant, nous souhaitons récupérer les notes de l'élève nommé "Jim" à partir de ce tableau 2D.
Nous pouvons utiliser une boucle foreach pour parcourir chaque élève et vérifier si son nom est "Jim". Si une correspondance est trouvée, la note de l'élève peut être restituée. Voici l'exemple de code qui implémente la méthode :
foreach ($students as $student) {
if ($student['name'] == 'Jim') { echo $student['grade']; break; }
}
Dans le code ci-dessus, nous parcourons chaque élément du tableau $students et l'attribuons au nom Is a nouveau tableau de $student. Ensuite, nous vérifions si la clé "name" dans $student est égale à "Jim". Si une correspondance est trouvée, utilisez la commande echo pour afficher la valeur « note » de l'étudiant.
Il convient de noter que puisque la boucle foreach parcourt tout le tableau, lorsque la valeur requise est trouvée, nous devons utiliser la commande break pour arrêter la recherche. Un inconvénient évident de cette approche est qu'elle boucle sur l'ensemble de la baie et peut entraîner des problèmes de performances dans les grandes baies.
Méthode 2 : utiliser une boucle for
Une autre façon d'interroger des valeurs dans un tableau à deux dimensions consiste à utiliser une boucle for. Cette méthode est plus rapide que l'utilisation d'une boucle foreach et, comme nous connaissons la position du tableau que nous recherchons, les itérations inutiles de la boucle peuvent être ignorées. Voici l'exemple de code pour implémenter cette méthode à l'aide d'une boucle for :
for ($i = 0; $i < count($students); $i++) {
if ($students[$i]['name'] == 'Jim') { echo $students[$i]['grade']; break; }
}
Dans l'extrait de code ci-dessus, nous use for La boucle parcourt chaque élément du tableau $students, en utilisant la variable $i pour garder une trace de l'itérateur actuel. Nous vérifions si la clé « nom » de chaque élève est égale à « Jim » et si une correspondance est trouvée, nous utilisons la commande echo pour afficher la valeur « note » de cet élève.
Il est à noter que la condition $i < count($students) est utilisée pour vérifier que la boucle ne dépasse pas la plage du tableau. Nous utilisons la commande break pour arrêter la boucle lorsque nous trouvons la valeur requise.
Méthode 3 : utilisez la fonction array_column
Il existe une fonction pratique en PHP appelée array_column(), qui peut être utilisée pour renvoyer une valeur de colonne unique à partir d'un tableau. Cette fonction accepte deux paramètres : un tableau et le nom de la colonne à renvoyer. Voici un exemple de code pour utiliser la fonction array_column() pour renvoyer la colonne "grade" du tableau $students ci-dessus :
$grades = array_column($students, 'grade');
Maintenant, nous vérifions simplement le $ renvoyé notes La valeur requise peut être trouvée en vérifiant si le tableau contient une valeur spécifique. Voici l'exemple de code pour implémenter cette méthode :
$student_name = 'Jim';
$grades = array_column($students, 'grade', 'name');
if (array_key_exists($student_name, $grades)) {
echo $grades[$student_name];
}
Dans ce code, la fonction array_column() est utilisée pour obtenir la colonne "grade" dans le tableau $students, et un tableau associatif $grades est créé en utilisant la colonne "name" comme clé. Ensuite, nous vérifions si le tableau $grades contient une clé spécifique (c'est-à-dire le nom de l'étudiant) et générons la valeur « note » correspondante.
Résumé
En PHP, il existe de nombreuses façons différentes d'interroger des valeurs dans un tableau à deux dimensions. Dans cet article, nous abordons les trois méthodes les plus courantes : utiliser une boucle foreach, utiliser une boucle for et utiliser la fonction array_column().
L'utilisation de la boucle foreach ou for convient aux petits tableaux ou aux grands tableaux qui nécessitent des capacités de recherche plus puissantes. En revanche, la fonction array_column() est plus adaptée pour filtrer une seule colonne. Dans le développement réel, les développeurs peuvent choisir la méthode appropriée pour interroger les valeurs du tableau bidimensionnel en fonction d'exigences spécifiques.
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!