我需要生成一个随机图片库。除了中间的那个必须总是相同的。
假设我有40张图片。我需要从这40张图片中随机选择16张。第9个图像应该始终是相同的。
有什么想法吗?
精度:
对我来说“难”的部分是知道哪些数字已经被使用,哪些没有被使用
提前感谢
发布于 2010-11-23 18:04:57
没有迭代的解决方案:
$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发布于 2010-11-23 18:04:27
因此,编写一个函数printRandomImage()
调用8次,然后打印非随机图像,然后再调用7次。
如果你想避免随机图像中的重复,你必须从你的40个图像列表中删除已经选择的图像。
发布于 2010-11-23 18:03:55
这些方面的一些东西应该会对你有所帮助:
for ($i=1; $i<=16; $i++) {
if ($i==9) {
// show static image
} else {
// generate random nr between 1 and 40
}
}https://stackoverflow.com/questions/4254781
复制相似问题