Le tableau bidimensionnel en PHP est une structure de données très courante qui peut être utilisée pour stocker de grandes quantités de données et qui est très flexible. Habituellement, lorsque nous traitons un tableau bidimensionnel, nous devons filtrer des éléments spécifiques en fonction de certaines conditions ou réorganiser la structure de ces éléments. Dans ce cas, convertir un tableau 2D sous une autre forme peut être très utile. Cet article explique comment utiliser la fonction tableau en PHP pour convertir un tableau bidimensionnel en une forme de valeur clé spécifiée.
1. Qu'est-ce qu'un tableau bidimensionnel ?
Un tableau bidimensionnel est une structure de données composée de plusieurs tableaux unidimensionnels. Il peut être considéré comme un tableau, chaque ligne représentant un tableau unidimensionnel et les colonnes représentant les éléments du tableau unidimensionnel.
Par exemple, le code suivant crée un tableau à deux dimensions :
$data = array( array("name" => "Tom", "age" => 20), array("name" => "Jerry", "age" => 18) );
Ce tableau contient deux éléments, chaque élément est un tableau à une dimension contenant les deux clés "nom" et "âge" et les valeurs correspondantes. Ce tableau bidimensionnel peut représenter le nom et l’âge d’un groupe de personnes.
2. Conversion d'un tableau bidimensionnel
Avant de traiter un tableau bidimensionnel, voyons d'abord comment convertir un tableau unidimensionnel. dans une forme de paire clé-valeur spécifiée. PHP fournit une fonction array_column() très pratique pour implémenter cette fonction. La fonction array_column() peut supprimer une colonne spécifiée d'un tableau multidimensionnel et renvoyer la valeur de la colonne. Par exemple :
$data = array( array("name" => "Tom", "age" => 20), array("name" => "Jerry", "age" => 18) ); $names = array_column($data, "name"); print_r($names);
Sortie :
Array ( [0] => Tom [1] => Jerry )
Dans le code ci-dessus, nous utilisons la fonction array_column() pour extraire la colonne "name" dans le tableau $data et la stocker dans un nouveau tableau $names. De cette façon, nous pouvons facilement obtenir toutes les informations sur le nom.
Dans le développement réel, nous devons généralement organiser le tableau bidimensionnel selon différentes conditions, comme le classer par âge ou le trier par premier lettre du nom, etc. À l’heure actuelle, nous pouvons utiliser la fonction array en PHP pour atteindre cet objectif. Ci-dessous, nous présenterons plusieurs méthodes couramment utilisées.
(1) Utilisez la fonction array_reduce()
La fonction array_reduce() peut effectuer un calcul cumulatif sur tous les éléments du tableau et renvoyer le résultat. En utilisant cette fonction, nous pouvons combiner des éléments dans un tableau bidimensionnel en fonction de la valeur clé spécifiée.
Par exemple, si nous voulons classer le tableau $data ci-dessus en fonction de la valeur "age", nous pouvons utiliser le code suivant :
$result = array_reduce($data, function ($acc, $item) { $age = $item['age']; if (!isset($acc[$age])) { $acc[$age] = array(); } $acc[$age][] = $item; return $acc; }, array()); print_r($result);
Sortie :
Array ( [20] => Array ( [0] => Array ( [name] => Tom [age] => 20 ) ) [18] => Array ( [0] => Array ( [name] => Jerry [age] => 18 ) ) )
Dans le code ci-dessus, nous utilisons la fonction anonyme PHP et fonction array_reduce(). Le premier paramètre $acc de la fonction anonyme représente l'accumulateur utilisé pour stocker les résultats accumulés, et le deuxième paramètre $item représente chaque élément du tableau. Dans le corps de la fonction, nous récupérons d'abord la valeur "age" de l'élément, puis déterminons si le tableau correspondant à la valeur "age" existe déjà dans l'accumulateur. S'il n'existe pas, créez enfin un nouveau tableau, ajoutez-le. l'élément dans ce tableau.
(2) Utilisez la fonction array_map()
La fonction array_map() peut traiter chaque élément du tableau et renvoyer un nouveau tableau. En utilisant cette fonction, nous pouvons modifier les éléments du tableau bidimensionnel en fonction de la valeur clé spécifiée.
Par exemple, le code suivant modifie la valeur de la clé "name" de chaque élément du tableau $data ci-dessus en la valeur "age" de l'élément et la stocke dans un nouveau tableau :
$result = array_map(function ($item) { $age = $item['age']; $item['name'] = $age; return $item; }, $data); print_r($result);
Sortie :
Array ( [0] => Array ( [name] => 20 [age] => 20 ) [1] => Array ( [name] => 18 [age] => 18 ) )
In Dans le code ci-dessus, nous avons utilisé la fonction anonyme PHP et la fonction array_map(). Le paramètre $item de la fonction anonyme représente chaque élément du tableau. Dans le corps de la fonction, nous obtenons d'abord la valeur "age" de l'élément, puis attribuons cette valeur à la clé "name" de l'élément.
3. Résumé
Ce qui précède explique comment convertir un tableau bidimensionnel en PHP en une valeur de clé spécifiée. Pour résumer :
En développement réel, nous pouvons choisir des méthodes appropriées pour traiter les éléments dans des tableaux bidimensionnels afin de répondre aux différents besoins commerciaux.
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!