如何将值从第二个数组移到第一个数组的空白处

时间:2019-03-25 16:11:33

标签: php codeigniter

如何将值从第二个数组移到第一个数组的空白位置

第一个数组如下

Array
(
    [0] => 1
    [1] => 
    [2] => 4
    [3] => 
)

第二个数组如下

Array
(
    [0] => 5
    [1] => 9

)

我希望将第二个数组合并为第一个数组,如下所示

Array
(
    [0] => 1
    [1] => 5
    [2] => 4
    [3] => 9
)

我尝试了下面的代码.....

for($i=0; $i<$count; $i++){
    for($j=$i; $j<=$i; $j++)
      if(empty($assign_taskk[$i])){
            $assign_taskk[$i] = $taskkk[$i];
       }
}

请帮助我

4 个答案:

答案 0 :(得分:0)

让我们说您的数组看起来像:

$a1 = [
    0 => 1,
    1 => null,
    2 => 4,
    3 => null,
];

$a2 = [
    0 => null,
    1 => 5,
    2 => null,
    3 => 9,
];

然后,您可以遍历第一个数组,并在需要时添加第二个数组的值:

foreach ($a1 as $k => $v) {
    if (empty($v) && !empty($a2[$k])) {
        $a1[$k] = $a2[$k];
    }
}

答案 1 :(得分:0)

另一种使用以下方法的方法-

<?php
$arr1= [1,null,4,null];
$arr2 = [null,5,null,9];
$result = array_values(array_filter($arr1) + array_filter($arr2));
print_r($result)
?>

演示: https://3v4l.org/R4aeE

答案 2 :(得分:0)

Hi @amod try this        
$_newArray = array_values(array_filter($array1) + array_filter($array2));
print_r($_newArray);

答案 3 :(得分:0)

您可以为此使用以下代码:

$firstArray = [1,'',4,''];
$secondArray = [5,9];

$secondArrayCounter = 0;
foreach($firstArray as $key => $value) {
    if (empty($value)) {
        $firstArray[$key] = $secondArray[$secondArrayCounter];
        $secondArrayCounter++;
    }
}
print_r($firstArray); 

希望它对您有帮助。