2015-10-16 3 views
-4

У меня есть два ассоциативных массива, которые я хочу объединить на основе индекса/ключа массива, я не хочу, чтобы он переписывал любые значения массива из индекса.Объединить 2 массива на основе индекса без перезаписи в php

Array 1: 
Array 
(
    [66529] => Array 
     (
      [Download] => ON 
     ) 
    [66587] => Array 
     (
      [Download] => ON 
     ) 
) 

Array 2: 
Array 
(
    [66587] => Array 
     (
      [PPT] => ON 
     ) 
    [66529] => Array 
     (
      [PPT] => OFF 
     ) 
) 

Merged Массив должен быть:

Array 
(
    [66529] => Array 
     (
      [Download] => ON 
      [PPT] => OFF 
     ) 
    [66587] => Array 
     (
      [Download] => ON 
      [PPT] => ON 
     ) 
) 

Я знаю, что это может быть сделано с помощью петли, но я ищу встроенные функции PHP, чтобы сделать это.

+0

http://php.net/manual/en/function.array-merge-recursive.php#example-5522 –

+0

Возможный дубликат [this] (http://stackoverflow.com/questions/12051782/php- array-merge-recursive-preserveing-numeric-keys) – DevDonkey

+0

Вы не имеете дубликатов ключей в php-массивах или просто сказали: он будет всегда перезаписываться, если вы не измените ключ. – Peter

ответ

1

И, наконец, получил ожидаемый результат. Ниже приведено решение, которое работает для меня

$ result = array_replace_recursive ($ array1, $ array2);