3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $arX = Array('AAA' => 173.696, 'BBB' => 72.436, 'CCC' => 142.692); $arY = Array('AAA' => 127, 'DDD' => 72.333); $newArray = []; $callback = function($value, $key , $prefix) use (&$newArray) { if (!isset($newArray[$key])) { $newArray[$key] = []; } $newArray[$key] += [$prefix => $value]; }; array_walk($arX , $callback , "X"); array_walk($arY , $callback , "Y"); var_dump($newArray);
based on DKZ3B
Output for 5.6.30, hhvm-3.18.5 - 3.22.0, 7.0.28 - 7.3.0rc3
array(4) { ["AAA"]=> array(2) { ["X"]=> float(173.696) ["Y"]=> int(127) } ["BBB"]=> array(1) { ["X"]=> float(72.436) } ["CCC"]=> array(1) { ["X"]=> float(142.692) } ["DDD"]=> array(1) { ["Y"]=> float(72.333) } }