Posted By


mattlowden on 09/25/10

Tagged


Statistics


Viewed 220 times
Favorited by 0 user(s)

array_merge_replace


/ Published in: PHP
Save to your folder(s)

Function for deep merging multiple arrays


Copy this code and paste it in your HTML
  1. function array_merge_replace(array $base_array, array $merge_array){
  2.  
  3. $new_array = array();
  4.  
  5. $key_list = array_unique( array_merge( array_keys( $base_array ), array_keys( $merge_array) ) );
  6.  
  7. foreach($key_list as $k)
  8. {
  9.  
  10. if( !array_key_exists($k, $base_array) && array_key_exists($k, $merge_array) )
  11. {
  12. $new_array[$k] = $merge_array[$k];
  13. }
  14. elseif( array_key_exists($k, $base_array) && !array_key_exists($k, $merge_array) )
  15. {
  16. $new_array[$k] = $base_array[$k];
  17. }
  18. elseif( array_key_exists($k, $base_array) && array_key_exists($k, $merge_array) )
  19. {
  20. if( is_array($base_array[$k]) && is_array($merge_array[$k]) )
  21. {
  22. $new_array[$k] = array_merge_replace($base_array[$k], $merge_array[$k]);
  23. }
  24. else
  25. {
  26. $new_array[$k] = $merge_array[$k];
  27. }
  28. }
  29.  
  30. }
  31.  
  32. return $new_array;
  33.  
  34. }

URL: http://www.mattlowden.com/blog/2010/02/deep-merging-two-arrays-in-php/

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.