fork download
  1. <?php
  2.  
  3. function array_union(&$result, $arr, $name)
  4. {
  5. foreach ($arr as $key => $value) {
  6. if (!isset($result[$key])) $result[$key] = [];
  7. $result[$key][$name] = $value;
  8. }
  9. }
  10.  
  11. $resultado = [];
  12. $x = ['a' => 1, 'b' => 2, 'c' => 3];
  13. $y = ['b' => 4, 'd' => 5];
  14.  
  15. array_union($resultado, $x, 'x');
  16. array_union($resultado, $y, 'y');
  17.  
  18. print_r($resultado);
Success #stdin #stdout 0.02s 23688KB
stdin
Standard input is empty
stdout
Array
(
    [a] => Array
        (
            [x] => 1
        )

    [b] => Array
        (
            [x] => 2
            [y] => 4
        )

    [c] => Array
        (
            [x] => 3
        )

    [d] => Array
        (
            [y] => 5
        )

)