如何在foreach循环中添加数组的更改键以及从另一个数组值添加键

时间:2019-05-01 06:29:13

标签: php arrays logic

我有一个数组

 $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)
               );

这意味着我想用第一个数组值替换第二个数组键, 第二个阵列键键可以是多个

提前谢谢。

2 个答案:

答案 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);
});