3v4l.org

run code in 300+ PHP versions simultaneously
<?php function combies($sets,&$results, $arr) { $ks = count($sets); $tmp = array_shift($sets); foreach($tmp as $x) { if ($ks==1) { $results[] = array_merge($arr, array($x)); } else { combies($sets, $results, array_merge($arr, array($x))); } } } $stuff = [ 'Condition' => [ 'nm' => 'Near Mint/Mint', 'sp' => 'Slightly Played', 'hp' => 'Heavily PLayed' ], 'Style' => [ 'normal' => 'Normal', 'foil' => 'Foil' ] ]; $output = []; var_dump(combies($stuff, $output, []));

preferences:
53.47 ms | 402 KiB | 5 Q