我在Linux BASH shell中寫過這個,但是如果PHP中有更好的解決方案,那就沒問題了。PHP或shell:如何隨機化列表而無需背對背重複?
我需要從12個元素的數組中產生一個隨機選擇。這是我迄今爲止所做的:
# Display/return my_array that's been randomly selected:
# Random 0 to 11:
r=$(($RANDOM % 12))
echo ${my_array[$r]}
每次調用時,它隨機選擇一個元素。但是,它經常會「隨機地」選擇連續的幾個元素。這怎麼可能在BASH shell或PHP中完成,因此做一個隨機選擇,這也不是最後一個選擇的重複?謝謝!
你會再次調用整個腳本?該呼叫是在腳本內再次發生的? – abasu 2013-05-10 09:09:24
這可能有助於進一步優化您的需求。例如,如果您的結果有時是{0,1,0,1},是否會被視爲重複?對於每12個樣本按順序排列,是否需要隨機排列12個不同的值,還是不夠隨機? – phatfingers 2013-05-10 09:43:34