我有从文件夹中聚集的文件名的阵列如下: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