2015-12-23 3 views
1

У меня есть два массива разной длины, но ключи похожи.
Мое требование обновление $ array1 со значениями $ array2 аналогичных ключейзначения массива обновления php

$array1 = array("Jan"=>"0", "Feb"=>"0", "Mar"=>"0", "Apr"=>"0"); 

$array2 = array("Jan"=>"2", "Mar"=>"3"); 

Выход:

$res = array("Jan"=>"2","Feb"=>"0","Mar"=>"3","Apr"=>"0"); 
+0

попробовать '$ array2 + $ array1' –

ответ

12

Вы можете достичь этого этим кодом:

$array1 = array("Jan" => "0", "Feb" => "0", "Mar" => "0", "Apr" => "0"); 

$array2 = array("Jan" => "2", "Mar" => "3"); 

$array3 = array_replace($array1, $array2); 
print_r($array3); 
+2

Вы можете использовать существующие $ array1 вместо $ array3, если вы не хотите создавать новый массив. –

+1

Большое спасибо Mr.Maha Dev – user2870117

0

Попробуйте это:

array_merge($array1, $array2); 
+0

выход из вашего кода' Array ([Jan] => 2 [Февраль] => 0 [Март] => 3) 'вы можете объяснить почему 'array_unique'? –

+0

Удаляет повторяющиеся значения из массива .. –

+0

, но вывод должен быть '$ res = array (" Jan "=>" 2 "," Feb "=>" 0 "," Mar "=" 3 "," Apr "=>" 0 ");' по вопросу –

0

Вы можете просто использовать оператор +.

$array1 = array("Jan"=>"0","Feb"=>"0","Mar"=>"0","Apr"=>"0"); 
$array2 = array("Jan"=>"2", "Mar"=>"3"); 
print_r($array2 + $array1); 

DEMO

Смежные вопросы