2016-09-04 2 views
0

У меня есть этот 2 массив:PHP массив толчок в массив, но сохранить существующую последовательность

$array1 = [3,6,5]; 
$array2 = [1,2,3,4,5,6]; 

Я хочу, чтобы достичь этого:

$newArray = [3,6,5,1,2,4]; 

так держать последовательность и добавить недостающее значение на $array1 ,

foreach($array1 as $data){ 
     if(!in_array($data, $array2)){ 
      array_push($array2, $data); 
     } 
    } 

Я пробовал код выше, но у меня есть мой массив, который становится двойным.

Любое решение?

+0

я просто обновил свой ответ. он работает, как вы просили :) – Pezhvak

ответ

3

Подобно этому,

$newArray = array_unique(array_merge($array1 ,$array2)); 

Это использование функции array_merge() для объединения одного или более массивов в один массив и array_unique() функция удаляет повторяющиеся значения из массива.

0

попробовать это:

$array1 = [3,6,5]; 
$array2 = [1,2,3,4,5,6]; 
$diff = array_diff($array2, $array1); 
$newArray = array_merge($array1, $diff); 

надеюсь, что это помогает ..

0

Чтобы остаться с существующим подходом, вам необходимо изменить логику:

foreach($array2 as $data){ 
    if(!in_array($data, $array1)){ 
     array_push($array1, $data); 
     //or 
     //$array1[] = $data; 
    } 
} 
Смежные вопросы