我具有以下列数据的关联数组:
$where = array( 'id'=>array( 12, 13, 14 ), 'date'=>array( '1999-06-12', '2000-03-21', '2006-09-31' ) );
我需要将结构转置/旋转为行数组(将合并的列数据分配给它们各自的行)。我不需要结果中的列名。
预期产量:
$comb = array( array(12, '1999-06-12'), array(13, '2000-03-21'), array(14, '2006-09-31') );
正如Kris Roofe在删除的答案中所说,array_column的确是一种更为优雅的方法。只要确保将其放入某种foreach循环中即可,就像Sahil Gulati向您展示的那样。例如,像这样:
array_column
foreach
$result = array(); foreach($where['id'] as $k => $v) { $result[] = array_column($where, $k); }
的var_dump输出$result正是您要寻找的
var_dump
$result
array(3) { [0]=> array(2) { [0]=> int(12) [1]=> string(10) "1999-06-12" } [1]=> array(2) { [0]=> int(13) [1]=> string(10) "2000-03-21" } [2]=> array(2) { [0]=> int(14) [1]=> string(10) "2006-09-31" } }