<?php
  function sampling($chars, $size, $combinations = array()) {
      # if it's the first iteration, the first set
    # of combinations is the same as the set of characters
    if (empty($combinations)) {
        $combinations = $chars;
    }
      # we're done if we're at size 1
    if ($size == 1) {
        return $combinations;
    }
      # initialise array to put new values in
    $new_combinations = array();
      # loop through existing combinations and character set to create strings
    foreach ($combinations as $combination) {
        foreach ($chars as $char) {
            $new_combinations[] = $combination . $char;
        }
    }
      # call same function again for the next iteration
    return sampling($chars, $size - 1, $new_combinations);
  }
  $chars = array('1', '2', '3','4');
$output = sampling($chars, count($chars));
  print "<pre>";
var_dump($output);
print "</pre>";
  ?>
Çıktı
Alıntı
array(256) { [0]=> string(4) "1111" [1]=> string(4) "1112" [2]=> string(4) "1113" [3]=> string(4) "1114" [4]=> string(4) "1121" [5]=> string(4) "1122" [6]=> string(4) "1123" [7]=> string(4) "1124" [8]=> string(4) "1131" [9]=> string(4) "1132" [10]=> string(4) "1133" [11]=> string(4) "1134" [12]=> string(4) "1141" [13]=> string(4) "1142" [14]=> string(4) "1143" [15]=> string(4) "1144" [16]=> string(4) "1211" [17]=> string(4) "1212" [18]=> string(4) "1213" [19]=> string(4) "1214" [20]=> string(4) "1221" [21]=> string(4) "1222" [22]=> string(4) "1223" [23]=> string(4) "1224" [24]=> string(4) "1231" [25]=> string(4) "1232" [26]=> string(4) "1233" [27]=> string(4) "1234" [28]=> string(4) "1241" [29]=> string(4) "1242" [30]=> string(4) "1243" [31]=> string(4) "1244" [32]=> string(4) "1311" [33]=> string(4) "1312" [34]=> string(4) "1313" [35]=> string(4) "1314" [36]=> string(4) "1321" [37]=> string(4) "1322" [38]=> string(4) "1323" [39]=> string(4) "1324" [40]=> string(4) "1331" [41]=> string(4) "1332" [42]=> string(4) "1333" [43]=> string(4) "1334" [44]=> string(4) "1341" [45]=> string(4) "1342" [46]=> string(4) "1343" [47]=> string(4) "1344" [48]=> string(4) "1411" [49]=> string(4) "1412" [50]=> string(4) "1413" [51]=> string(4) "1414" [52]=> string(4) "1421" [53]=> string(4) "1422" [54]=> string(4) "1423" [55]=> string(4) "1424" [56]=> string(4) "1431" [57]=> string(4) "1432" [58]=> string(4) "1433" [59]=> string(4) "1434" [60]=> string(4) "1441" [61]=> string(4) "1442" [62]=> string(4) "1443" [63]=> string(4) "1444" [64]=> string(4) "2111" [65]=> string(4) "2112" [66]=> string(4) "2113" [67]=> string(4) "2114" [68]=> string(4) "2121" [69]=> string(4) "2122" [70]=> string(4) "2123" [71]=> string(4) "2124" [72]=> string(4) "2131" [73]=> string(4) "2132" [74]=> string(4) "2133" [75]=> string(4) "2134" [76]=> string(4) "2141" [77]=> string(4) "2142" [78]=> string(4) "2143" [79]=> string(4) "2144" [80]=> string(4) "2211" [81]=> string(4) "2212" [82]=> string(4) "2213" [83]=> string(4) "2214" [84]=> string(4) "2221" [85]=> string(4) "2222" [86]=> string(4) "2223" [87]=> string(4) "2224" [88]=> string(4) "2231" [89]=> string(4) "2232" [90]=> string(4) "2233" [91]=> string(4) "2234" [92]=> string(4) "2241" [93]=> string(4) "2242" [94]=> string(4) "2243" [95]=> string(4) "2244" [96]=> string(4) "2311" [97]=> string(4) "2312" [98]=> string(4) "2313" [99]=> string(4) "2314" [100]=> string(4) "2321" [101]=> string(4) "2322" [102]=> string(4) "2323" [103]=> string(4) "2324" [104]=> string(4) "2331" [105]=> string(4) "2332" [106]=> string(4) "2333" [107]=> string(4) "2334" [108]=> string(4) "2341" [109]=> string(4) "2342" [110]=> string(4) "2343" [111]=> string(4) "2344" [112]=> string(4) "2411" [113]=> string(4) "2412" [114]=> string(4) "2413" [115]=> string(4) "2414" [116]=> string(4) "2421" [117]=> string(4) "2422" [118]=> string(4) "2423" [119]=> string(4) "2424" [120]=> string(4) "2431" [121]=> string(4) "2432" [122]=> string(4) "2433" [123]=> string(4) "2434" [124]=> string(4) "2441" [125]=> string(4) "2442" [126]=> string(4) "2443" [127]=> string(4) "2444" [128]=> string(4) "3111" [129]=> string(4) "3112" [130]=> string(4) "3113" [131]=> string(4) "3114" [132]=> string(4) "3121" [133]=> string(4) "3122" [134]=> string(4) "3123" [135]=> string(4) "3124" [136]=> string(4) "3131" [137]=> string(4) "3132" [138]=> string(4) "3133" [139]=> string(4) "3134" [140]=> string(4) "3141" [141]=> string(4) "3142" [142]=> string(4) "3143" [143]=> string(4) "3144" [144]=> string(4) "3211" [145]=> string(4) "3212" [146]=> string(4) "3213" [147]=> string(4) "3214" [148]=> string(4) "3221" [149]=> string(4) "3222" [150]=> string(4) "3223" [151]=> string(4) "3224" [152]=> string(4) "3231" [153]=> string(4) "3232" [154]=> string(4) "3233" [155]=> string(4) "3234" [156]=> string(4) "3241" [157]=> string(4) "3242" [158]=> string(4) "3243" [159]=> string(4) "3244" [160]=> string(4) "3311" [161]=> string(4) "3312" [162]=> string(4) "3313" [163]=> string(4) "3314" [164]=> string(4) "3321" [165]=> string(4) "3322" [166]=> string(4) "3323" [167]=> string(4) "3324" [168]=> string(4) "3331" [169]=> string(4) "3332" [170]=> string(4) "3333" [171]=> string(4) "3334" [172]=> string(4) "3341" [173]=> string(4) "3342" [174]=> string(4) "3343" [175]=> string(4) "3344" [176]=> string(4) "3411" [177]=> string(4) "3412" [178]=> string(4) "3413" [179]=> string(4) "3414" [180]=> string(4) "3421" [181]=> string(4) "3422" [182]=> string(4) "3423" [183]=> string(4) "3424" [184]=> string(4) "3431" [185]=> string(4) "3432" [186]=> string(4) "3433" [187]=> string(4) "3434" [188]=> string(4) "3441" [189]=> string(4) "3442" [190]=> string(4) "3443" [191]=> string(4) "3444" [192]=> string(4) "4111" [193]=> string(4) "4112" [194]=> string(4) "4113" [195]=> string(4) "4114" [196]=> string(4) "4121" [197]=> string(4) "4122" [198]=> string(4) "4123" [199]=> string(4) "4124" [200]=> string(4) "4131" [201]=> string(4) "4132" [202]=> string(4) "4133" [203]=> string(4) "4134" [204]=> string(4) "4141" [205]=> string(4) "4142" [206]=> string(4) "4143" [207]=> string(4) "4144" [208]=> string(4) "4211" [209]=> string(4) "4212" [210]=> string(4) "4213" [211]=> string(4) "4214" [212]=> string(4) "4221" [213]=> string(4) "4222" [214]=> string(4) "4223" [215]=> string(4) "4224" [216]=> string(4) "4231" [217]=> string(4) "4232" [218]=> string(4) "4233" [219]=> string(4) "4234" [220]=> string(4) "4241" [221]=> string(4) "4242" [222]=> string(4) "4243" [223]=> string(4) "4244" [224]=> string(4) "4311" [225]=> string(4) "4312" [226]=> string(4) "4313" [227]=> string(4) "4314" [228]=> string(4) "4321" [229]=> string(4) "4322" [230]=> string(4) "4323" [231]=> string(4) "4324" [232]=> string(4) "4331" [233]=> string(4) "4332" [234]=> string(4) "4333" [235]=> string(4) "4334" [236]=> string(4) "4341" [237]=> string(4) "4342" [238]=> string(4) "4343" [239]=> string(4) "4344" [240]=> string(4) "4411" [241]=> string(4) "4412" [242]=> string(4) "4413" [243]=> string(4) "4414" [244]=> string(4) "4421" [245]=> string(4) "4422" [246]=> string(4) "4423" [247]=> string(4) "4424" [248]=> string(4) "4431" [249]=> string(4) "4432" [250]=> string(4) "4433" [251]=> string(4) "4434" [252]=> string(4) "4441" [253]=> string(4) "4442" [254]=> string(4) "4443" [255]=> string(4) "4444" }

[Kaynak]