![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
No sé a que te refieres con 364 veces...
con 10 dígitos se generan más de 59.000 combinaciones
con 11 dígitos más de 177.000 combinaciones
con 12 dígitos más de 531.000 combinaciones
ahora con 14 me imagino que pueden llegar a más de 1 millón
![ojotes](http://static.forosdelweb.com/fdwtheme/images/smilies/ojotes.png)
, el código que encontré sólo me permite generar con 12 dígitos, espero que te sirva como un ejemplo, tampoco lo pienso optimizar. Pero en el manual de PHP en el área de arrays vi muchos ejemplos (buscando permutations combinations) salen varios resultados útiles.
Código PHP:
Ver original<?php
function permutations($letters, $num) {
while ($last != str_repeat(lastchar
($letters), $num)) { $result[] = $last;
$last = char_add($letters, $last, $num - 1);
}
$result[] = $last;
return $result;
}
function char_add($digits, $string, $char) {
if ($string{$char} != lastchar($digits)) {
$string{$char} = $digits{strpos($digits, $string{$char}) + 1}; return $string;
} else {
$string = changeall($string, $digits{0}, $char);
return char_add($digits, $string, $char - 1);
}
}
function lastchar($string) {
return $string{strlen($string) - 1}; }
function changeall($string, $char, $start = 0, $end = 0) {
if ($end == 0)
for ($i = $start; $i <= $end; $i++) {
$string{$i} = $char;
}
return $string;
}
$arr = permutations("XYZ", 12);
echo '<pre>';
echo '</pre>';
Fuente En esta parte del manual hay algunas formas que te pueden dar ideas
Saludos.