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