Как правильно слить два массива?

есть два массива первый

$idCountmfilmr 
  array(5) { 
     [0]=> int(5) 
     [1]=> int(8) 
     [2]=> int(9) 
     [3]=> int(17) 
     [4]=> int(18) }


второй

$idCountmfilmi
  array(26) { 
     [0]=> int(1) 
     [1]=> int(2) 
     [2]=> int(3) 
     [3]=> int(4) 
     [4]=> int(6) 
     [5]=> int(7)
    }


получаю я эти два массива вот так

if ($countr == 1) {if (is_array($idSer)) {
...
    $idCountmfilmr = array_intersect($idSer, array_column($idCounmfilm, 'id'));
} else {
    $idCountmfilmr = array_column($idCounmfilm, 'id');
        }
}
if ($countr == 0){
...
if (is_array($idSer)) {
     $idCountmfilmi = array_intersect($idSer, array_column($idCounmfilm, 'id'));
} else {
      $idCountmfilmi = array_column($idCounmfilm, 'id');
}


пытаюсь слить

$idCountmfilm=array_merge($idCountmfilmr,$idCountmfilmi);


так получаю

array(5) { [0]=> int(5) [1]=> int(8) [2]=> int(9) [3]=> int(17) [4]=> int(18) } array(26) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(6) [5]=> int(7) [6]=> int(10)}


пытался организовать так

$idCountmfilm=array();
if ($countr == 1) {if (is_array($idSer)) {
    ...
        array_push($idCountmfilm,array_intersect($idSer, array_column($idCounmfilm, 'id')));
    } else {
        array_push($idCountmfilm,array_column($idCounmfilm, 'id'));
            }
    }
    if ($countr == 0){
    ...
    if (is_array($idSer)) {
         array_push($idCountmfilm,array_intersect($idSer, array_column($idCounmfilm, 'id')));
    } else {
         array_push($idCountmfilm,array_column($idCounmfilm, 'id'));
    }


получаю

array(1) { [0]=> array(7) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(6) [5]=> int(7) [6]=> int(10)}}


хотелось бы получить

array(11) {  [0]=> int(5) [1]=> int(8) [2]=> int(9) [3]=> int(17) [4]=> int(18) [5]=> int(2) [6]=> int(3) [7]=> int(4) [8]=> int(6) [9]=> int(7) [10]=> int(10) }


пробую так
for ($i=1; $i<count($idCountmfilmi); $i++){
          $idCountmfilmr[] = $idCountmfilmi[$i];
}
var_dump($idCountmfilmr);

получаю так
array(5) { [0]=> int(5) [1]=> int(8) [2]=> int(9) [3]=> int(17) [4]=> int(18) } array(7) { [0]=> int(2) [1]=> int(3) [2]=> int(4) [3]=> int(6) [4]=> int(7) [5]=> int(10) [6]=> int(11)  }
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
После array_merge просто сделайте sort($array) а если вы ключи хотите родные сохранить то у вас массивы не сольются, т.к. и там и там есть ключ 0 как минимум
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы