我有这两个数组,我需要结合
Array (
[0] => Column 1
[1] => Column 2
[2] => Column 3
)
Array (
[0] => Array (
[0] => 111
[1] => 222
[2] => 333
)
[1] => Array (
[0] => 444
[1] => 555
[2] => 666
)
)
进入这个
Array (
[0] => Array (
[Column 1] => 111
[Column 2] => 222
[Column 3] => 333
)
[1] => Array (
[Column 1] => 444
[Column 2] => 555
[Column 3] => 666
)
)
这就是我所拥有的并且它有效,但我相信它可以以更简单的方式完成:
$values = array( array( 1,2,3), array( 4,5,6) );
$fields = array( 'Column 1','Column 2','Column 3');
$i = 0;
$j = 0;
$l = 0;
$rows = array();
$columns = array();
foreach($values as $val) {
$rows[] = $val;
foreach ($fields as &$field) {
$columns[$j][$i] = $field;
$i++;
}
$i = 0;
$j++;
}
foreach($columns as $c){
$result[] = array_combine($c,$rows[$l]);
$l++;
}
我想要的是尽可能清理它。我有时会遇到阵列的困难,这个问题真的与我的脑袋混在一起。 :-)
答案 0 :(得分:4)
迭代数组数组并将每个数组与键一起传递给array_combine
[docs]:
$result = array();
foreach($values as $key => $value) {
$result[$key] = array_combine($fields, $value);
}
答案 1 :(得分:1)
我认为你所做的array_combine()
很简单,因为你可以得到它。 PHP没有针对所有内容的功能,但是你可以将它变成你当时的任何需求,所以它看起来很好。
有点奇怪你之前把值和键放在单独的数组中,你可以简单地对我认为的那个大的那个做一个foreach ...或者我可能太快看了一下代码?