我需要生成一个随机图片库。除了中间的必须始终是相同的。
假设我有40张图片。我需要从40中选择16个随机图像。第9个图像应该始终相同。
有什么想法吗?
精确度:
对我来说,“硬”部分是要知道已经使用了哪些数字,而不是
提前致谢
答案 0 :(得分:3)
没有迭代的解决方案:
$array=$original; // $original represents your 40 images
$ninth=$array[8]; // save 9th element for use later
unset($array[8]); // exclude the 9th element
shuffle($array); // randomize sequence
$array=array_slice($array,0,16); // get 16 images
$array[8]=$ninth; // replace 9th element with saved element
$unused=array_diff($original,$array); // list of unused elements
答案 1 :(得分:1)
所以,写一个函数printRandomImage()
调用它8次,然后打印非随机图像,然后再调用它7次。
如果您想避免在随机图像中出现重复,则必须从40幅图像列表中删除已经选中的图像。
答案 2 :(得分:0)
这些方面的东西可以帮助你:
for ($i=1; $i<=16; $i++) {
if ($i==9) {
// show static image
} else {
// generate random nr between 1 and 40
}
}