我有從文件夾中聚集的文件名的陣列如下:PHP隨機播放功能
$g = glob('uploads/thumbs/*.jpg');
現在,立足於用戶的選擇,該圖像將被按時間順序顯示與rsort($g)
或通過shuffle($g)
混洗。
問題是洗牌總是返回相同的圖片順序!我該如何解決這個問題?
我有從文件夾中聚集的文件名的陣列如下:PHP隨機播放功能
$g = glob('uploads/thumbs/*.jpg');
現在,立足於用戶的選擇,該圖像將被按時間順序顯示與rsort($g)
或通過shuffle($g)
混洗。
問題是洗牌總是返回相同的圖片順序!我該如何解決這個問題?
也許這是一些參考的問題,試試這個:
$glob = glob('uploads/thumbs/*.jpg');
$files = clone $glob;
unset($glob);
shuffle($files);
var_dump($files);
您應該使用srand()
種子隨機數發生器,因爲它是用於shuffle()
從4.2開始不再需要.. – konsolenfreddy 2012-02-07 20:43:35
雖然這是一個有效的答案,但它不應該成爲php 4.2的問題。從手冊'4.2.0 \t隨機數發生器自動播種.' – 2012-02-07 20:44:59
難道您發佈完整的代碼? – 2012-02-07 20:43:04
受konsolenfreddy啓發,您使用的是哪個版本的PHP? – 2012-02-07 20:45:42
'shuffle'返回布爾值,而不是數組。 – dfsq 2012-02-07 20:47:15