3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $one = Array ( 4 => 'bim', 5 => 'pow', 6 => 'foo' ); $two = Array ( 'n' => Array ( 0 => 1 ), 'm' => Array ( 0 => 1, 1 => 2 ), 'l' => Array ( 0 => 1, 1 => 4, 2 => 64 ) ); $result = array(); while((list($oneKey, $oneValue) = each($one)) && (list($twoKey, $twoValue) = each($two))) { foreach($twoValue as $item) { $result[$oneValue][]=$twoKey.'-'.$item; } }; //optional: add if single-elements need to be converted to strings: foreach($result as $key=>$item) { $result[$key]=count($item)>1?$item:array_shift($item); } var_dump($result);
Output for 4.3.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
array(3) { ["bim"]=> string(3) "n-1" ["pow"]=> array(2) { [0]=> string(3) "m-1" [1]=> string(3) "m-2" } ["foo"]=> array(3) { [0]=> string(3) "l-1" [1]=> string(3) "l-4" [2]=> string(4) "l-64" } }