我有一个至少有5K图像的文件夹。我在网站上添加了一个名为“随机”的按钮,因此当用户点击它时,从文件夹中选择随机图像显示。
这是我到目前为止所拥有的。
$images = $img_arr[rand(0,count($img_arr)-1)];
有没有更好的方法来显示更好的随机结果。感谢。
答案 0 :(得分:0)
我会建议array_rand或shuffle并选择第一个元素。
答案 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))];