从文件夹中选择图像的更好的随机功能

时间:2014-01-15 16:17:36

标签: php

我有一个至少有5K图像的文件夹。我在网站上添加了一个名为“随机”的按钮,因此当用户点击它时,从文件夹中选择随机图像显示。

这是我到目前为止所拥有的。

$images = $img_arr[rand(0,count($img_arr)-1)];

有没有更好的方法来显示更好的随机结果。感谢。

3 个答案:

答案 0 :(得分:0)

我会建议array_randshuffle并选择第一个元素。

答案 1 :(得分:0)

$rand_key = array_rand($img_arr);
$image = $img_arr[$rand_key];
unset($img_arr[$rand_key];)

或者使用mt_rand:

$rand_key = mt_rand(0,count($img_arr)-1)
$image = $img_arr[$rand_key];
unset($img_arr[$rand_key]);

这样您就可以删除从阵列中拾取的图像。

答案 2 :(得分:0)

使用mcrypt

<?php
$bytes = mcrypt_create_iv(4, MCRYPT_DEV_URANDOM);
$unpack = unpack("Nint", $bytes);
$val = $unpack['int'] & 0x7FFFFFFF;

$images = $img_arr[($val % (count($img_arr) - 1))];