将多维列式数据重新排序为基于行的结构
给定一个具有面向列数据的关联数组,任务是将其转置为由行组成的多维数组。原始数组中的数据按列排列,目标是将同一列的值合并到行中。
原始数组:
$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