我希望創建一個隨機序列對應我的條件的數組。Php隨機序列發生器
- 該序列應由1-8個不同的數字組成。
- 我不應該在前4個或後4個數字中有超過2個連續的數字。例如:1,2,3不好,也不和5,3,4,因爲如果排序它們是連續的(3,4,5)。
這是一個很好的例子:1,4,5,7,| | 8,6,3,2
這不是一個好例子:1,3,2,6,| 5,7,8,4因爲1,3,2是連續的號碼,如果在第4位
我做了這個排序(1,2,3):
$sequences = array();
while(count($sequences) < 100){
//Random 8 numbers sequence from 1-8
$sequence = array();
while(count($sequence) < 8){
$rand = rand(1,8);
if(!in_array($rand, $sequence)){
array_push($sequence, $rand);
}
}
//Insert if numbers are not successive.
//Struggling here
if(?????){
array_push($sequences, $sequence);
}
}
print_r($sequences);
它的工作的代其中的一部分,但我不知道如何插入不包含連續數字的序列。有什麼想法嗎?
所以......你只是想爭搶1-8的名單? – JohnP
@JohnP a進行了編輯。前4位或後4位數字不應以任何順序連續出現。所以它不僅被擾亂,因爲這個1,3,2,6,5,7,8,4將不起作用,因爲1,2,3在前4個數字中是連續的。 – Wistar
在你的1,3,2,6,5,7,8,4「不好的例子」中 - 我沒有看到1,3,2是如何連續的。你連續的意思是什麼? –