Как переместить значения из 2-го массива в пустые места 1-го массива

#php #codeigniter

#php #codeigniter

Вопрос:

Как переместить значения из 2-го массива в пустые места 1-го массива

1-й массив, как показано ниже

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

2-й массив, как показано ниже

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

)
  

Я хочу вывод в виде слияния 2-го массива с 1-м, как показано ниже

 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];
       }
}
  

пожалуйста, помогите мне с тем же

Комментарии:

1. array_merge($arr1,$arr2);

2. Какие значения имеют пустые места?

3.@MasivuyeCokile array_merge объединяет массивы, а не заменяет значения.

4. array_merge($ arr1, $ arr2); Этот код выдает мне вывод в виде массива ( [0] => 1 [1] => [2] => 4 [3] => [4] => 5 [5] => 9 ) Но я хочу, чтобы приведенный ниже массив ( [0] => 1 [1] => 5 [2] => 4 [3] => 9 )

Ответ №1:

Допустим, ваши массивы выглядят как:

 $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) amp;amp; !empty($a2[$k])) {
        $a1[$k] = $a2[$k];
    }
}
  

Ответ №2:

Другой способ сделать это, используя приведенный ниже способ-

 <?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

Ответ №3:

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

Комментарии:

1. Спасибо за ответ, как только увидите мой массив, как я упоминал ниже 1-й массив Array ( [0] => 1 [1] => [2] => 4 [3] => ) 2-й массив Array ( [0] => 5 [1] => 9 ) Я хочу результат, как показано ниже Массив ( [0] => 1 [1] => 5 [2] => 4 [3] => 9 ) Пожалуйста, порекомендуйте и помогите мне в том же

Ответ №4:

Для этого вы можете использовать приведенный ниже код:

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

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

Надеюсь, это поможет вам.