Maison  >  Article  >  développement back-end  >  Comment convertir un tableau tridimensionnel en tableau bidimensionnel en php

Comment convertir un tableau tridimensionnel en tableau bidimensionnel en php

PHPz
PHPzoriginal
2023-04-27 09:10:101872parcourir

En PHP, un tableau associatif est généralement composé de paires clé-valeur et peut également être multidimensionnel. Mais dans certains cas, nous devons convertir un tableau tridimensionnel en un tableau bidimensionnel pour faciliter le traitement et l'affichage des données. Cet article explique comment convertir un tableau tridimensionnel en un tableau bidimensionnel.

1. Pourquoi devons-nous convertir un tableau tridimensionnel en un tableau bidimensionnel ? Dans certains cas, nous obtiendrons un tableau tridimensionnel à partir de la base de données ou d'autres sources de données, mais lors du traitement réel des données, nous Il suffit d'utiliser un tableau bidimensionnel. Par exemple, si nous disposons d'un tableau tridimensionnel contenant des informations sur les villes et les attractions de toutes les provinces de Chine et que nous souhaitons afficher ces informations sur une page Web, nous devons alors convertir ce tableau tridimensionnel en un tableau bidimensionnel. pour faciliter le traitement et l'affichage des données.

2. Comment convertir un tableau tridimensionnel en un tableau bidimensionnel

Il existe de nombreuses façons de convertir un tableau tridimensionnel en un tableau bidimensionnel. Cet article présentera deux méthodes différentes.

1. Utilisez la boucle foreach

La boucle foreach est une méthode très courante pour parcourir un tableau. Tous les éléments du tableau peuvent être obtenus via la boucle foreach. Pour les tableaux tridimensionnels, nous pouvons utiliser des boucles foreach imbriquées pour les convertir en tableaux bidimensionnels. Le code est le suivant :

$sourceArray = array(
    array(
        array("a"=>1,"b"=>2),
        array("a"=>3,"b"=>4),
        array("a"=>5,"b"=>6)
    ),
    array(
        array("a"=>7,"b"=>8),
        array("a"=>9,"b"=>10),
        array("a"=>11,"b"=>12)
    ),
    array(
        array("a"=>13,"b"=>14),
        array("a"=>15,"b"=>16),
        array("a"=>17,"b"=>18)
    )
);

$targetArray = array();
foreach($sourceArray as $province){
    foreach($province as $city){
        $targetArray[] = array_values($city);
    }
}

Dans l'exemple ci-dessus, $sourceArray est un tableau tridimensionnel contenant trois provinces, chaque province contient plusieurs villes et chaque ville contient plusieurs attractions.

Nous utilisons d’abord un tableau vide $targetArray comme tableau cible. Pour chaque province, nous utilisons la première boucle foreach pour parcourir chaque ville. Pour chaque ville, nous utilisons une deuxième boucle foreach pour parcourir chaque attraction et l'ajouter à $targetArray. Puisque chaque ville et attraction est un tableau associatif, nous le convertissons en un tableau bidimensionnel via la fonction array_values().

En fin de compte, $targetArray devient un tableau bidimensionnel contenant toutes les informations sur la ville et les attractions.

2. Utilisez la fonction array_map

Si vous n'aimez pas utiliser une boucle foreach, nous pouvons utiliser la fonction array_map pour convertir un tableau tridimensionnel en un tableau bidimensionnel. Le code est le suivant :

function flattenArray($element){
    return array_values($element);
}

$sourceArray = array(
    array(
        array("a"=>1,"b"=>2),
        array("a"=>3,"b"=>4),
        array("a"=>5,"b"=>6)
    ),
    array(
        array("a"=>7,"b"=>8),
        array("a"=>9,"b"=>10),
        array("a"=>11,"b"=>12)
    ),
    array(
        array("a"=>13,"b"=>14),
        array("a"=>15,"b"=>16),
        array("a"=>17,"b"=>18)
    )
);

$targetArray = array();
foreach($sourceArray as $province){
    $targetArray = array_merge($targetArray,array_map("flattenArray",$province));
}

Dans cet exemple, nous définissons une fonction appelée flattenArray, qui sert à convertir chaque élément en un tableau bidimensionnel. Nous appliquons ensuite cette fonction à chaque ville à l'aide de la fonction array_map, en la convertissant en un tableau 2D et en la stockant dans le tableau $targetArray.

Enfin, $targetArray devient un tableau bidimensionnel contenant toutes les informations sur la ville et les attractions.

3. Résumé

Cet article présente deux méthodes de conversion d'un tableau tridimensionnel en un tableau bidimensionnel. Elles utilisent la boucle foreach et la fonction array_map. Bien que le code de ces deux méthodes soit différent, leur objectif est le même. Lorsque nous devons traiter de grandes quantités de données, nous pouvons utiliser l’une de ces méthodes pour résoudre ce problème.

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