將多維列式資料重新排序為基於行的結構
給定一個具有面向列資料的關聯數組,任務是將其轉置為由行組成的多維數組。原始數組中的資料按列排列,目標是將同一列的值合併到行中。
原始陣列:
$where = [ 'id' => [ 12, 13, 14 ], 'date' => [ '1999-06-12', '2000-03-21', '2006-09-31' ] ];
所需輸出:
$comb = [ [12, '1999-06-12'], [13, '2000-03-21'], [14, '2006-09-31'] ];
解決方案:
實現這種資料重組的一種有效方法是使用循環迭代每列的值,並將它們組合成一個陣列。排。這是一個例子:
$result = [];
foreach ($where['id'] as $key => $id) {
$result[] = [$id, $where['date'][$key]];
}
array_column() 方法:
基於循環的解決方案的一個優雅替代方案是使用array_column() 函數,該函數從多維中提取特定列數組。
$result = [];
foreach ($where['id'] as $key => $id) {
$result[] = array_column($where, $key);
}
array_column() 函數將指定列作為數組傳回,然後可以將其與對應行中的值組合。
輸出:
兩個解決方案都會產生所需的輸出:
[ [12, '1999-06-12'], [13, '2000-03-21'], [14, '2006-09-31'] ]
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3