要隨機PHP中的數組之前或之後很容易,但我的問題是,當我嘗試將它洗而不該鍵前後得到相同的結果。洗牌PHP數組不相同的值
實施例:
Array (0 => 1, 1 => 2, 2 => 3, 3 => 3)
我必須具有無3的結果來在一起。一些陣列我想要的
例子:
Array (0 => 2, 1 => 3, 2 => 1, 3 => 3)
我tryed檢查數組的每個項目,如果出現這種情況,我再次將它洗,並檢查其他時間。但這似乎是浪費時間和過程。
編輯: 這裏是我使用的代碼:
do
{
$not_valid=false;
for($i=0;$i<sizeof($arr_times)-1;$i++){
if($arr_times[$i]==$arr_times[$i+1])
$not_valid=true;
}
if($not_valid)
shuffle($arr_times);
}while ($not_valid);
,什麼是你的問題? – zerkms
有沒有任何可能的方式做到這一點,而不必每次我洗牌時再讀整個數組? –
實際上,我不會驚訝那個PHP有'shuffle_without_same_value_before'函數,因爲它已經有一些奇怪的。但在這種情況下 - 不,事實並非如此。你必須手動完成。 – zerkms