Salve, il seguente script va bene:
<?php
function permutate(&$array) {
$len = sizeof($array);
$permArray = array();
for($i = 0; $i < $len; $i++) {
perm($array[$i], $i, $len, $array, $permArray);
}
for($i = 0; $i < sizeof($permArray); $i++) {
echo $permArray[$i]."
";
}
}
function perm($str, $index, $length, &$elementArray, &$permArray) {
if($index == $length)
return;
$permArray[] = $str;
for($j = $index; $j+1 < $length; $j++) {
perm($str.$elementArray[$j+1], $j+1, $length, $elementArray, $permArray);
}
}
$myArray[] = "a";
$myArray[] = "b";
$myArray[] = "c";
$myArray[] = "d";
$myArray[] = "e";
permutate($myArray);
?>
Però volendolo trasformare in un array associativo (in modo da eseguire la funzione permutate solo sugli elenti che hanno la chiave "8", per esempio, non va più...
Ho solo cambiato in questo:
$myArray['8'] = "a";
$myArray['8'] = "b";
$myArray['9'] = "c";
$myArray['7'] = "d";
$myArray['8'] = "e";
![]()
![]()
![]()