如何合并两个数组,但两个数组保持相同的位置

时间:2014-04-09 13:11:57

标签: php

我有两个像这样的数组。

Array1 ( [0] => 2014-04-24 [1] => null [2] => null [3] => 2014-04-26 [4] => null)

Array2 ( [0] => null [1] => 2014-04-02 [2] => 2014-04-01 [3] => null [4] => 2014-04-21)

正如您在这两个示例中所看到的,其中一个是空的,位置填充在另一个数组中。我想合并这些来创建一个完整的填充数组。

2 个答案:

答案 0 :(得分:1)

试试:

$array1 = ['2014-04-24', null, null, '2014-04-26', null];
$array2 = [null, '2014-04-02', '2014-04-01', null, '2014-04-21'];

$output = array_map(function($value1, $value2){
    return $value1 ? $value1 : $value2;
}, $array1, $array2);

输出:

array (size=5)
  0 => string '2014-04-24' (length=10)
  1 => string '2014-04-02' (length=10)
  2 => string '2014-04-01' (length=10)
  3 => string '2014-04-26' (length=10)
  4 => string '2014-04-21' (length=10)

答案 1 :(得分:0)

for ($i = 0; $i < count($arr1); $i++) {
   if($arr1[$i] == null) {
    $arr1[$i] = $arr2[$i];
   }
}

这将是最简单的方法。