Aşağıdaki düşünün
function swap(&$a, &$b) { list($a, $b) = array($b, $a); }
$len = count($a);
for($i = 0; $i < $len; $i++) {
$j = rand(1, $len) - 1;
swap($a[$i], $a[$j]);
}
Bu Tüm dizi öğelerini karıştırır standart döngü. Sadece bazı ("hareketli") elemanları karıştırmak için, en bir diziye kendi anahtarlarını koyalım
$keys = array(1, 3, 5, 7, 9, 11, 13, 17);
ve $ tuşları üzerinde döngü ile $ a üzerinde döngü değiştirin
$len = count($keys);
for($i = 0; $i < $len; $i++) {
$j = rand(1, $len) - 1;
swap($a[$keys[$i]], $a[$keys[$j]]);
}
Bu pozisyon 1, 3, 5, vb elementler hareket eder ve yerine başka öğeleri yaprak