Maison > Article > développement back-end > php multidimensionnel en tableau bidimensionnel
En PHP, les développeurs doivent souvent gérer des structures de données multidimensionnelles obtenues à partir de diverses ressources, et ces structures de données peuvent contenir des types de données très complexes. Les tableaux multidimensionnels sont un outil très utile pour traiter ces structures de données, mais dans certains cas, nous pouvons avoir besoin de convertir des tableaux multidimensionnels en tableaux bidimensionnels.
Dans cet article, nous explorerons comment utiliser PHP pour convertir un tableau multidimensionnel en un tableau bidimensionnel pour des besoins de traitement de données plus généraux.
Pour démontrer comment convertir un tableau multidimensionnel en un tableau bidimensionnel, nous devons d'abord définir un tableau multidimensionnel. Nous allons créer un tableau "Fruit" avec trois catégories principales, chacune contenant trois entrées différentes.
$fruits = array(
"apples" => array( array("brand" => "Granny Smith", "color" => "green", "price" => 0.75), array("brand" => "Fuji", "color" => "red", "price" => 0.50), array("brand" => "Golden Delicious", "color" => "yellow", "price" => 0.60) ), "oranges" => array( array("brand" => "Valencia", "color" => "orange", "price" => 0.80), array("brand" => "Navel", "color" => "orange", "price" => 0.85), array("brand" => "Blood", "color" => "red", "price" => 1.10) ), "bananas" => array( array("brand" => "Cavendish", "color" => "yellow", "price" => 0.25), array("brand" => "Lady Finger", "color" => "green", "price" => 0.30), array("brand" => "Red Dacca", "color" => "red", "price" => 0.35) )
);
Dans le tableau ci-dessus, nous avons créé une gamme de fruits contenant trois catégories, où chaque catégorie contient trois combinaisons différentes de marques, de couleurs et de prix.
Maintenant que nous avons défini un tableau multidimensionnel et compris comment il est organisé, nous pouvons commencer à écrire du code pour le convertir en tableau 2D.
Nous pouvons utiliser la fonction array_map de PHP, qui applique une fonction de rappel à chaque élément d'un tableau multidimensionnel et renvoie un nouveau tableau contenant le résultat de la fonction de rappel.
Ce qui suit est un exemple de code contenant une fonction de rappel qui convertit un tableau multidimensionnel en tableau bidimensionnel :
$flat_fruits = array();
array_map(function($group) use ($flat_fruits) {
foreach ($group as $item) { $flat_fruits[] = array( "category" => array_keys($group)[0], "brand" => $item["brand"], "color" => $item["color"], "price" => $item["price"] ); }
} , $fruits);
Dans le code ci-dessus, nous créons d'abord un nouveau tableau nommé $flat_fruits pour stocker nos résultats convertis. Nous utilisons ensuite la fonction array_map pour parcourir chaque entrée du tableau $fruits et la transmettre à une fonction anonyme qui effectue une opération sur cette entrée.
Dans cette fonction anonyme, nous utilisons d'abord une boucle foreach pour parcourir tous les éléments possibles dans chaque catégorie. Pour chaque article, nous l'enveloppons dans un nouveau tableau et stockons la marque, la couleur, le prix et la catégorie de l'article (ici, nous avons simplement utilisé le nom de la catégorie). Enfin, nous ajoutons ce nouveau tableau au tableau $flat_fruits, qui devient notre tableau 2D converti.
Pour vérifier que notre code fonctionne, nous pouvons simplement afficher le tableau $flat_fruits et voir les valeurs converties. Voici un code qui génère le tableau $flat_fruits :
foreach ($flat_fruits as $item) {
echo $item["category"] . " > " . $item["brand"] . " (" . $item["color"] . ", $" . $item["price"] . ")\n";
}
Dans le code ci-dessus, nous utilisons une boucle foreach pour parcourir chaque élément du tableau $flat_fruits. Pour chaque élément, nous formatons son contenu dans une chaîne et l'imprimons sur le terminal.
Le résultat devrait ressembler à ce qui suit :
pommes > Granny Smith (vert, 0,75 $)
pommes Fuji (rouge, 0,5 $)
pommes > jaune, 0,6 $)
oranges > orange, 0,8 $)
oranges > Navel (orange, 0,85 $)
oranges > Sang (rouge, 1,1 $)
bananes > Dacca (rouge, 0,35 $)
Comme vous pouvez le voir, nous avons réussi à convertir le tableau multidimensionnel en un tableau bidimensionnel et à formater la sortie. On peut voir que la fonction array_map de PHP est un outil très utile pour traiter des tableaux multidimensionnels. Il permet aux développeurs d'opérer facilement sur des structures de données multidimensionnelles et peut facilement appliquer une logique de transformation pour transformer les données dans n'importe quel format souhaité.
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!