Guest User

Untitled

a guest
Jun 21st, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. $foobar = Array('firstname'=>'peter','age'=>'32','nation'=>'');
  2. $feebar = Array('firstname' => '','lastname' => 'griffin', age =>'33','nation'=>'usa');
  3.  
  4. print_r(array_merge($foobar,$feebar));
  5. /*
  6. Array
  7. (
  8. [firstname] => // <-- feebar set this to blank, NOT COOL!
  9. [age] => 33 // <-- feebar set this to 33, thats cool
  10. [lastname] => griffin // <-- feebar added this key-value pair, thats cool
  11. [nation] => usa // <-- feebar filled in a blank, thats cool.
  12. )
  13. */
  14.  
  15. print_r(array_coolmerge($foobar,$feebar));
  16. /*
  17. Array
  18. (
  19. [firstname] => peter // <-- don't blank out a value if one already exists!
  20. [age] => 33
  21. [lastname] => griffin
  22. [nation] => usa
  23.  
  24. )
  25. */
  26.  
  27. $merged = array_merge(array_filter($foo, 'strval'), array_filter($bar, 'strval'));
  28.  
  29. $merged = array_map(
  30. create_function('$foo,$bar','return ($bar?$bar:$foo);'),
  31. $foobar,$feebar
  32. );
  33.  
  34. # Replace keys in $foo
  35. foreach ($foo as $key => $value) {
  36. if ($value != '' || !isset($bar[$key])) continue;
  37. $foo[$key] = $bar[$key];
  38. }
  39.  
  40. # Add other keys in $bar
  41. # Will not overwrite existing keys in $foo
  42. $foo += $bar;
  43.  
  44. <?php
  45. $foobar = Array('firstname' => 'peter','age' => '33',);
  46. $feebar = Array('firstname' => '','lastname' => 'griffin',);
  47. $merged=$foobar;
  48. foreach($feebar as $k=>$v){
  49. if(isset($foobar[$k]))$merged[$k]=array($v,$foobar[$k]);
  50. else $merged[$k]=$v;
  51. }
  52. print_r($merged);
  53. ?>
  54.  
  55. <?php
  56. $foobar = Array('firstname' => 'peter','age' => '33',);
  57. $feebar = Array('firstname' => '','lastname' => 'griffin',);
  58. $merged=$foobar;
  59. foreach($feebar as $k=>$v) if($v)$merged[$k]=$v;
  60. print_r($merged);
  61. ?>
  62.  
  63. <?
  64. function cool_merge($array1,$array2){
  65. $result=$array1;
  66. foreach($array2 as $k=>$v) if($v)$result[$k]=$v;
  67. return $result;
  68. }
  69.  
  70. $foobar = Array('firstname' => 'peter','age' => '33',);
  71. $feebar = Array('firstname' => '','lastname' => 'griffin',);
  72. print_r(cool_merge($foobar,$feebar));
  73. ?>
  74.  
  75. array_filter($foo) + array_filter($bar) + $foo + $bar
  76.  
  77. array_merge($feebar,$foobar)
Add Comment
Please, Sign In to add comment