3v4l.org

run code in 300+ PHP versions simultaneously
<?php function getAllCombinations(array $arr, int $n, array $selected = [], int $startIndex = 0): array { if (!$n) { return [array_merge($selected, [array_product($selected)])]; // generate payload } $result = []; $count = count($arr); for ($i = $startIndex; $i < $count; ++$i) { array_push( $result, ...getAllCombinations($arr, $n - 1, array_merge($selected, [$arr[$i]]), $i + 1) ); } return $result; } $primes = [2, 3, 5, 7, 11, 13, 17, 19, 23]; var_export(getAllCombinations($primes, 4));
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
array ( 0 => array ( 0 => 2, 1 => 3, 2 => 5, 3 => 7, 4 => 210, ), 1 => array ( 0 => 2, 1 => 3, 2 => 5, 3 => 11, 4 => 330, ), 2 => array ( 0 => 2, 1 => 3, 2 => 5, 3 => 13, 4 => 390, ), 3 => array ( 0 => 2, 1 => 3, 2 => 5, 3 => 17, 4 => 510, ), 4 => array ( 0 => 2, 1 => 3, 2 => 5, 3 => 19, 4 => 570, ), 5 => array ( 0 => 2, 1 => 3, 2 => 5, 3 => 23, 4 => 690, ), 6 => array ( 0 => 2, 1 => 3, 2 => 7, 3 => 11, 4 => 462, ), 7 => array ( 0 => 2, 1 => 3, 2 => 7, 3 => 13, 4 => 546, ), 8 => array ( 0 => 2, 1 => 3, 2 => 7, 3 => 17, 4 => 714, ), 9 => array ( 0 => 2, 1 => 3, 2 => 7, 3 => 19, 4 => 798, ), 10 => array ( 0 => 2, 1 => 3, 2 => 7, 3 => 23, 4 => 966, ), 11 => array ( 0 => 2, 1 => 3, 2 => 11, 3 => 13, 4 => 858, ), 12 => array ( 0 => 2, 1 => 3, 2 => 11, 3 => 17, 4 => 1122, ), 13 => array ( 0 => 2, 1 => 3, 2 => 11, 3 => 19, 4 => 1254, ), 14 => array ( 0 => 2, 1 => 3, 2 => 11, 3 => 23, 4 => 1518, ), 15 => array ( 0 => 2, 1 => 3, 2 => 13, 3 => 17, 4 => 1326, ), 16 => array ( 0 => 2, 1 => 3, 2 => 13, 3 => 19, 4 => 1482, ), 17 => array ( 0 => 2, 1 => 3, 2 => 13, 3 => 23, 4 => 1794, ), 18 => array ( 0 => 2, 1 => 3, 2 => 17, 3 => 19, 4 => 1938, ), 19 => array ( 0 => 2, 1 => 3, 2 => 17, 3 => 23, 4 => 2346, ), 20 => array ( 0 => 2, 1 => 3, 2 => 19, 3 => 23, 4 => 2622, ), 21 => array ( 0 => 2, 1 => 5, 2 => 7, 3 => 11, 4 => 770, ), 22 => array ( 0 => 2, 1 => 5, 2 => 7, 3 => 13, 4 => 910, ), 23 => array ( 0 => 2, 1 => 5, 2 => 7, 3 => 17, 4 => 1190, ), 24 => array ( 0 => 2, 1 => 5, 2 => 7, 3 => 19, 4 => 1330, ), 25 => array ( 0 => 2, 1 => 5, 2 => 7, 3 => 23, 4 => 1610, ), 26 => array ( 0 => 2, 1 => 5, 2 => 11, 3 => 13, 4 => 1430, ), 27 => array ( 0 => 2, 1 => 5, 2 => 11, 3 => 17, 4 => 1870, ), 28 => array ( 0 => 2, 1 => 5, 2 => 11, 3 => 19, 4 => 2090, ), 29 => array ( 0 => 2, 1 => 5, 2 => 11, 3 => 23, 4 => 2530, ), 30 => array ( 0 => 2, 1 => 5, 2 => 13, 3 => 17, 4 => 2210, ), 31 => array ( 0 => 2, 1 => 5, 2 => 13, 3 => 19, 4 => 2470, ), 32 => array ( 0 => 2, 1 => 5, 2 => 13, 3 => 23, 4 => 2990, ), 33 => array ( 0 => 2, 1 => 5, 2 => 17, 3 => 19, 4 => 3230, ), 34 => array ( 0 => 2, 1 => 5, 2 => 17, 3 => 23, 4 => 3910, ), 35 => array ( 0 => 2, 1 => 5, 2 => 19, 3 => 23, 4 => 4370, ), 36 => array ( 0 => 2, 1 => 7, 2 => 11, 3 => 13, 4 => 2002, ), 37 => array ( 0 => 2, 1 => 7, 2 => 11, 3 => 17, 4 => 2618, ), 38 => array ( 0 => 2, 1 => 7, 2 => 11, 3 => 19, 4 => 2926, ), 39 => array ( 0 => 2, 1 => 7, 2 => 11, 3 => 23, 4 => 3542, ), 40 => array ( 0 => 2, 1 => 7, 2 => 13, 3 => 17, 4 => 3094, ), 41 => array ( 0 => 2, 1 => 7, 2 => 13, 3 => 19, 4 => 3458, ), 42 => array ( 0 => 2, 1 => 7, 2 => 13, 3 => 23, 4 => 4186, ), 43 => array ( 0 => 2, 1 => 7, 2 => 17, 3 => 19, 4 => 4522, ), 44 => array ( 0 => 2, 1 => 7, 2 => 17, 3 => 23, 4 => 5474, ), 45 => array ( 0 => 2, 1 => 7, 2 => 19, 3 => 23, 4 => 6118, ), 46 => array ( 0 => 2, 1 => 11, 2 => 13, 3 => 17, 4 => 4862, ), 47 => array ( 0 => 2, 1 => 11, 2 => 13, 3 => 19, 4 => 5434, ), 48 => array ( 0 => 2, 1 => 11, 2 => 13, 3 => 23, 4 => 6578, ), 49 => array ( 0 => 2, 1 => 11, 2 => 17, 3 => 19, 4 => 7106, ), 50 => array ( 0 => 2, 1 => 11, 2 => 17, 3 => 23, 4 => 8602, ), 51 => array ( 0 => 2, 1 => 11, 2 => 19, 3 => 23, 4 => 9614, ), 52 => array ( 0 => 2, 1 => 13, 2 => 17, 3 => 19, 4 => 8398, ), 53 => array ( 0 => 2, 1 => 13, 2 => 17, 3 => 23, 4 => 10166, ), 54 => array ( 0 => 2, 1 => 13, 2 => 19, 3 => 23, 4 => 11362, ), 55 => array ( 0 => 2, 1 => 17, 2 => 19, 3 => 23, 4 => 14858, ), 56 => array ( 0 => 3, 1 => 5, 2 => 7, 3 => 11, 4 => 1155, ), 57 => array ( 0 => 3, 1 => 5, 2 => 7, 3 => 13, 4 => 1365, ), 58 => array ( 0 => 3, 1 => 5, 2 => 7, 3 => 17, 4 => 1785, ), 59 => array ( 0 => 3, 1 => 5, 2 => 7, 3 => 19, 4 => 1995, ), 60 => array ( 0 => 3, 1 => 5, 2 => 7, 3 => 23, 4 => 2415, ), 61 => array ( 0 => 3, 1 => 5, 2 => 11, 3 => 13, 4 => 2145, ), 62 => array ( 0 => 3, 1 => 5, 2 => 11, 3 => 17, 4 => 2805, ), 63 => array ( 0 => 3, 1 => 5, 2 => 11, 3 => 19, 4 => 3135, ), 64 => array ( 0 => 3, 1 => 5, 2 => 11, 3 => 23, 4 => 3795, ), 65 => array ( 0 => 3, 1 => 5, 2 => 13, 3 => 17, 4 => 3315, ), 66 => array ( 0 => 3, 1 => 5, 2 => 13, 3 => 19, 4 => 3705, ), 67 => array ( 0 => 3, 1 => 5, 2 => 13, 3 => 23, 4 => 4485, ), 68 => array ( 0 => 3, 1 => 5, 2 => 17, 3 => 19, 4 => 4845, ), 69 => array ( 0 => 3, 1 => 5, 2 => 17, 3 => 23, 4 => 5865, ), 70 => array ( 0 => 3, 1 => 5, 2 => 19, 3 => 23, 4 => 6555, ), 71 => array ( 0 => 3, 1 => 7, 2 => 11, 3 => 13, 4 => 3003, ), 72 => array ( 0 => 3, 1 => 7, 2 => 11, 3 => 17, 4 => 3927, ), 73 => array ( 0 => 3, 1 => 7, 2 => 11, 3 => 19, 4 => 4389, ), 74 => array ( 0 => 3, 1 => 7, 2 => 11, 3 => 23, 4 => 5313, ), 75 => array ( 0 => 3, 1 => 7, 2 => 13, 3 => 17, 4 => 4641, ), 76 => array ( 0 => 3, 1 => 7, 2 => 13, 3 => 19, 4 => 5187, ), 77 => array ( 0 => 3, 1 => 7, 2 => 13, 3 => 23, 4 => 6279, ), 78 => array ( 0 => 3, 1 => 7, 2 => 17, 3 => 19, 4 => 6783, ), 79 => array ( 0 => 3, 1 => 7, 2 => 17, 3 => 23, 4 => 8211, ), 80 => array ( 0 => 3, 1 => 7, 2 => 19, 3 => 23, 4 => 9177, ), 81 => array ( 0 => 3, 1 => 11, 2 => 13, 3 => 17, 4 => 7293, ), 82 => array ( 0 => 3, 1 => 11, 2 => 13, 3 => 19, 4 => 8151, ), 83 => array ( 0 => 3, 1 => 11, 2 => 13, 3 => 23, 4 => 9867, ), 84 => array ( 0 => 3, 1 => 11, 2 => 17, 3 => 19, 4 => 10659, ), 85 => array ( 0 => 3, 1 => 11, 2 => 17, 3 => 23, 4 => 12903, ), 86 => array ( 0 => 3, 1 => 11, 2 => 19, 3 => 23, 4 => 14421, ), 87 => array ( 0 => 3, 1 => 13, 2 => 17, 3 => 19, 4 => 12597, ), 88 => array ( 0 => 3, 1 => 13, 2 => 17, 3 => 23, 4 => 15249, ), 89 => array ( 0 => 3, 1 => 13, 2 => 19, 3 => 23, 4 => 17043, ), 90 => array ( 0 => 3, 1 => 17, 2 => 19, 3 => 23, 4 => 22287, ), 91 => array ( 0 => 5, 1 => 7, 2 => 11, 3 => 13, 4 => 5005, ), 92 => array ( 0 => 5, 1 => 7, 2 => 11, 3 => 17, 4 => 6545, ), 93 => array ( 0 => 5, 1 => 7, 2 => 11, 3 => 19, 4 => 7315, ), 94 => array ( 0 => 5, 1 => 7, 2 => 11, 3 => 23, 4 => 8855, ), 95 => array ( 0 => 5, 1 => 7, 2 => 13, 3 => 17, 4 => 7735, ), 96 => array ( 0 => 5, 1 => 7, 2 => 13, 3 => 19, 4 => 8645, ), 97 => array ( 0 => 5, 1 => 7, 2 => 13, 3 => 23, 4 => 10465, ), 98 => array ( 0 => 5, 1 => 7, 2 => 17, 3 => 19, 4 => 11305, ), 99 => array ( 0 => 5, 1 => 7, 2 => 17, 3 => 23, 4 => 13685, ), 100 => array ( 0 => 5, 1 => 7, 2 => 19, 3 => 23, 4 => 15295, ), 101 => array ( 0 => 5, 1 => 11, 2 => 13, 3 => 17, 4 => 12155, ), 102 => array ( 0 => 5, 1 => 11, 2 => 13, 3 => 19, 4 => 13585, ), 103 => array ( 0 => 5, 1 => 11, 2 => 13, 3 => 23, 4 => 16445, ), 104 => array ( 0 => 5, 1 => 11, 2 => 17, 3 => 19, 4 => 17765, ), 105 => array ( 0 => 5, 1 => 11, 2 => 17, 3 => 23, 4 => 21505, ), 106 => array ( 0 => 5, 1 => 11, 2 => 19, 3 => 23, 4 => 24035, ), 107 => array ( 0 => 5, 1 => 13, 2 => 17, 3 => 19, 4 => 20995, ), 108 => array ( 0 => 5, 1 => 13, 2 => 17, 3 => 23, 4 => 25415, ), 109 => array ( 0 => 5, 1 => 13, 2 => 19, 3 => 23, 4 => 28405, ), 110 => array ( 0 => 5, 1 => 17, 2 => 19, 3 => 23, 4 => 37145, ), 111 => array ( 0 => 7, 1 => 11, 2 => 13, 3 => 17, 4 => 17017, ), 112 => array ( 0 => 7, 1 => 11, 2 => 13, 3 => 19, 4 => 19019, ), 113 => array ( 0 => 7, 1 => 11, 2 => 13, 3 => 23, 4 => 23023, ), 114 => array ( 0 => 7, 1 => 11, 2 => 17, 3 => 19, 4 => 24871, ), 115 => array ( 0 => 7, 1 => 11, 2 => 17, 3 => 23, 4 => 30107, ), 116 => array ( 0 => 7, 1 => 11, 2 => 19, 3 => 23, 4 => 33649, ), 117 => array ( 0 => 7, 1 => 13, 2 => 17, 3 => 19, 4 => 29393, ), 118 => array ( 0 => 7, 1 => 13, 2 => 17, 3 => 23, 4 => 35581, ), 119 => array ( 0 => 7, 1 => 13, 2 => 19, 3 => 23, 4 => 39767, ), 120 => array ( 0 => 7, 1 => 17, 2 => 19, 3 => 23, 4 => 52003, ), 121 => array ( 0 => 11, 1 => 13, 2 => 17, 3 => 19, 4 => 46189, ), 122 => array ( 0 => 11, 1 => 13, 2 => 17, 3 => 23, 4 => 55913, ), 123 => array ( 0 => 11, 1 => 13, 2 => 19, 3 => 23, 4 => 62491, ), 124 => array ( 0 => 11, 1 => 17, 2 => 19, 3 => 23, 4 => 81719, ), 125 => array ( 0 => 13, 1 => 17, 2 => 19, 3 => 23, 4 => 96577, ), )

preferences:
68.65 ms | 426 KiB | 62 Q