我有一个数组
$arr=array(
[0]=>a
[1]=>b);
我还有另一个数组
$arr2=array(
[0]=>array(
[0]=>3
[1]=>4)
[1]=>array(
[0]=>5
[1]=>6)
);
我希望第二个数组看起来像这样
$arr3=array(
[0]=>array(
[a]=>3
[b]=>4)
[1]=>array(
[a]=>5
[b]=>6)
);
这意味着我想用第一个数组值替换第二个数组键, 第二个阵列键键可以是多个
提前谢谢。
答案 0 :(得分:1)
将array_combine与简单的foreach
循环一起使用:
foreach($arr2 as $e)
$arr3[] = array_combine($arr, $e);
如果要更改第二个数组而不创建第三个数组,请使用:
foreach($arr2 as &$e)
$e = array_combine($arr, $e);
答案 1 :(得分:0)
array_walk()-将用户提供的函数应用于数组的每个成员
$res = [];
array_walk($arr2, function($v, $k) use ($arr,&$res){
$res[] = array_combine($arr, $v);
});