Maison  >  Article  >  développement back-end  >  Comment regrouper un tableau 2D par valeur de colonne dans un tableau 3D ?

Comment regrouper un tableau 2D par valeur de colonne dans un tableau 3D ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 17:28:29895parcourir

How to Group a 2D Array by Column Value into a 3D Array?

Regrouper les données d'un tableau 2D à l'aide de la valeur de colonne pour un tableau 3D

En programmation, il est souvent nécessaire de manipuler et d'organiser efficacement les structures de données. Le regroupement de données en fonction de critères spécifiques est une tâche courante. Cet article explique comment regrouper un tableau 2D à l'aide d'une valeur de colonne pour créer un tableau 3D.

Considérez le tableau 2D suivant :

[
    ['cust' => 'XT8900', 'type' => 'standard', 'level' => 1],
    ['cust' => 'XT8944', 'type' => 'standard', 'level' => 1],
    ['cust' => 'XT8922', 'type' => 'premier', 'level' => 3],
    ['cust' => 'XT8816', 'type' => 'permier', 'level' => 3],
    ['cust' => 'XT7434', 'type' => 'standard', 'level' => 7],
]

Notre objectif est de regrouper ces données par ' "level", qui crée effectivement un tableau 3D. Le résultat souhaité ressemble à ceci :

Array (

   [1] => Array (
          [0] => Array (
                    [cust] => XT8900
                    [type] => standard
                    )
          [1] => Array (
                    [cust] => XT8944
                    [type] => standard
                    )
          )

   [3] => Array (
          [2] => Array (
                 [cust] => XT8922
                 [type] => premier
                 )

          [3] => Array (
                 [cust] => XT8816
                 [type] => permier
                 )
          )

   [7] => Array (
          [4] => Array (
                 [cust] => XT7434
                 [type] => standard
                 )
          )
)

Approche optimale

La solution la plus efficace consiste à créer le tableau 3D directement si possible. Cependant, si cela n'est pas réalisable, nous pouvons utiliser un tableau temporaire intermédiaire pour le tri :

<code class="php">foreach ($input_arr as $key => &$entry) {
    $level_arr[$entry['level']][$key] = $entry;
}</code>

Il en résulte la structure de tableau 3D souhaitée. Il est important d'envisager de construire le tableau au format final dès le début si possible, pour des performances optimales.

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