更改多维数组php中的内键
问题描述:
我想问一下如何替换多维数组中的内键. 我有一个多维数组:
I want to ask about how to replace inner key in a multidimensional array. I have an multidimensional array :
$array1=
array(array(5000, 6, 325, 3, 3, 517000000),
array( 20000, 5, 217, 5, 3, 1692000000)
);
第二个数组是
$array2=array(1,2,3,4,5,6);
我希望新数组是
Array(
[0] => Array
(
[1] => 5000
[2] => 6
[3] => 325
[4] => 3
[5] => 3
[6] => 517000000
)
[1] => Array
(
[1] => 20000
[2] => 5
[3] => 217
[4] => 5
[5] => 3
[6] => 1692000000
))
我在另一篇帖子 PHP替换多维数组键中尝试了此代码,但我无法分配我的array1的值
I have tried this code below by another post PHP Replace multidimensional array keys, but I can't assign the value of my array1
foreach($array2 as $array2 ){
for($k=0;$k<sizeof($array2);$k++){
for($l=0;$l<$count;$l++){
$last[$l][$array2] = $array1[$k][$l];
}
$i += $count;
}
}
谢谢
答
正如@Rizier在其评论中建议的那样,您可以使用array_map()和array_combine()来做到这一点.
As @Rizier has suggested in his comment you can do this using array_map() and array_combine().
<?php
$array1=
array(array(5000, 6, 325, 3, 3, 517000000),
array( 20000, 5, 217, 5, 3, 1692000000)
);
$array2 = array(1, 2, 3, 4, 5, 6);
foreach($array1 as $arr1){
$array3[] = array_combine($array2, $arr1);
}
var_dump($array3);
输出
array (size=2)
0 =>
array (size=6)
1 => int 5000
2 => int 6
3 => int 325
4 => int 3
5 => int 3
6 => int 517000000
1 =>
array (size=6)
1 => int 20000
2 => int 5
3 => int 217
4 => int 5
5 => int 3
6 => int 1692000000