我必须从目录生成随机图像.我知道哪个很简单,
$dire="images/";
$images = glob($dire. '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$randomImage = $images[array_rand($images)];
但我必须确保该目录中的每个图像在随机生成第二次之前至少选择一次.以上代码仅显示任何随机图像.
我的想法是,我必须将随机图像存储在一个数组中,并且每次使用新创建的随机图像检查数组.如果新的随机图像不在该数组中,我需要显示该图像,否则我必须找到另一个图像.
我用上面的想法创建了下面的代码.
$allimgs=array();
$dire="images/";
$images = glob($dire. '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$randomImage = $images[array_rand($images)];
if(!in_array($randomImage,$allimgs))
{
$allimgs[]=$randomImage;
}
但我仍然坚持使用此代码.有人请帮忙改进这段代码吗?或任何其他想法?
谢谢.