Maison  >  Article  >  développement back-end  >  Comment interroger en fonction d'un tableau en php

Comment interroger en fonction d'un tableau en php

PHPz
PHPzoriginal
2023-04-23 16:43:531185parcourir

En PHP, le tableau est une structure de données très courante. Nous devons souvent effectuer des requêtes basées sur certaines valeurs du tableau, comme trouver la position d'un élément dans le tableau, trouver la plage de positions occupée par certains éléments du tableau, etc. Cet article explique comment effectuer des requêtes basées sur des tableaux.

1. Trouver la position d'un élément dans un tableau

En PHP, nous pouvons utiliser la fonction array_search() pour trouver la position d'un élément spécifié dans un tableau. Cette fonction accepte deux paramètres : l'élément à trouver et le tableau. Si l'élément spécifié est trouvé, le nom de clé de l'élément dans le tableau est renvoyé ; sinon, false est renvoyé.

Par exemple, nous avons un tableau $numbers = array(1,2,3,4,5,6,7,8,9);, et nous voulons trouver la position du nombre 5 dans le tableau, nous peut utiliser le code suivant :

$key = array_search(5, $numbers);

echo $key; // Sortie 4

2 Trouvez toutes les positions de l'élément spécifié dans le tableau

S'il y a des éléments en double. dans le tableau, nous devrons peut-être trouver ces toutes les positions de l'élément dans le tableau. PHP fournit la fonction array_keys(), qui peut renvoyer toutes les clés de l'élément spécifié dans le tableau.

Ce qui suit est un exemple, en supposant que nous ayons un tableau $fruits = array("apple","banana","orange","apple","orange","grape");, nous voulons trouver tous " orange" "À la position dans le tableau, vous pouvez utiliser le code suivant :

$keys = array_keys($fruits, "orange");

print_r($keys); // Output Array ( [0] =>); ; 2 [1] => 4)

Ce code affichera un tableau contenant tous les noms de clés "orange" dans le tableau.

3. Trouver la position des éléments dans un tableau à deux dimensions

En plus des tableaux à une dimension, PHP prend également en charge les tableaux à deux dimensions. Si nous voulons trouver la position d’un élément dans un tableau à deux dimensions, nous devons utiliser une autre méthode. Nous pouvons parcourir l’ensemble du tableau et déterminer si chaque élément répond aux exigences. Voici un exemple de code :

$users = array(
array("name" => "Tom", "age" => 20),
array("name" => "Jerry", " age " => 25),
array("name" => "Mike", "age" => 30)
);

function findUser($users, $name) {
foreach ($users as $ key => $user) {

if ($user["name"] == $name) {
  return $key;
}

}
return false;
}

$key = findUser($users, "Jerry");

echo $key; // Sortie 1

Ce code affichera un tableau Le nom de clé de l'élément nommé "Jerry".

4. Trouvez tous les éléments qui remplissent les conditions dans le tableau bidimensionnel

Si vous souhaitez trouver tous les éléments qui remplissent les conditions dans le tableau bidimensionnel, nous pouvons utiliser la fonction array_filter(). Cette fonction accepte deux paramètres : le tableau à filtrer et la fonction de rappel. La fonction de rappel doit renvoyer vrai ou faux pour indiquer si l'élément actuel répond aux exigences. Voici un exemple de code :

$users = array(
array("name" => "Tom", "age" => 20),
array("name" => "Jerry", " age " => 25),
array("name" => "Mike", "age" => 30),
array("name" => "Alice", "age" => 20 )
);

function findUsers($users, $age) {
return array_filter($users, function($user) use ($age) {

return $user["age"] == $age;

});
}

$matchingUsers = findUsers($ users , 20);

print_r($matchingUsers);

Ce code affichera tous les éléments ayant un âge de 20.

Résumé

En PHP, nous pouvons utiliser certaines fonctions intégrées pour effectuer des requêtes basées sur des tableaux. array_search(), array_keys() et array_filter() sont les fonctions les plus couramment utilisées et peuvent répondre aux besoins de la plupart des situations. Si vous avez besoin de rechercher des éléments dans un tableau multidimensionnel, vous devrez peut-être écrire vous-même du code de parcours pour y parvenir.

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