2012-08-25 104 views
0

創建一個需要隨機化的數組,但array_rand不起作用。我的語法錯了嗎?我沒有注意到任何錯誤。另外,array_rand在代碼的其他地方使用,所以我知道可以使用它。Array Rand不隨機

$array_11 = array (
"40","20","36", 
); 

$random_width_1 = array_rand($array_11, 3); 

echo $array_11[$random_width_1[0]]; 
echo $array_11[$random_width_1[1]]; 
echo $array_11[$random_width_1[2]]; 
+3

嘗試http://dk2.php.net/manual/ http://php.net/shuffle en/function.shuffle.php – mrok

+1

array_rand不會隨機化一個數組,它只是從數組中選擇一個隨機值。 @mrok說使用隨機洗牌^ – jeremy

+1

'array_rand()'用於從數組中選擇單個隨機元素或它們的組。由於你的數組只有3個元素,而你選擇了3,所以你總是會得到相同的結果。 –

回答

3

嘗試使用嘗試array_rand代替

2

問題是,array_rand排序它的輸出數組。如果您詢問與您的輸入完全相同的項目,您將按順序返回所有索引。 (see this comment

如果你想創建數組的一個隨機的順序,你可以使用shuffle