Réorganisation des données en colonnes multidimensionnelles dans une structure basée sur des lignes
Étant donné un tableau associatif avec des données orientées colonnes, la tâche consiste à le transposer en un tableau multidimensionnel composé de lignes. Les données du tableau d'origine sont organisées par colonnes et l'objectif est de fusionner les valeurs de la même colonne en lignes.
Tableau d'origine :
$where = [ 'id' => [ 12, 13, 14 ], 'date' => [ '1999-06-12', '2000-03-21', '2006-09-31' ] ];
Résultat souhaité :
$comb = [ [12, '1999-06-12'], [13, '2000-03-21'], [14, '2006-09-31'] ];
Solution :
Un moyen efficace de réaliser cette restructuration des données consiste à parcourir les valeurs de chaque colonne en utilisant une boucle et combinez-les dans un tableau pour chaque ligne. Voici un exemple :
<code class="php">$result = []; foreach ($where['id'] as $key => $id) { $result[] = [$id, $where['date'][$key]]; }</code>
Approche array_column() :
Une alternative élégante à la solution basée sur les boucles consiste à utiliser la fonction array_column(), qui extrait une colonne spécifique d'un tableau multidimensionnel.
<code class="php">$result = []; foreach ($where['id'] as $key => $id) { $result[] = array_column($where, $key); }</code>
La fonction array_column() renvoie la colonne spécifiée sous forme de tableau, qui peut ensuite être combinée avec les valeurs de la ligne correspondante.
Sortie :
Les deux solutions produiront le résultat souhaité :
[ [12, '1999-06-12'], [13, '2000-03-21'], [14, '2006-09-31'] ]
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!