我需要生成一個隨機圖像庫。除了中間的那個必須始終是相同的。隨機數循環,除了中間的一個
比方說,我有40個圖像。我需要從40中選擇16張隨機圖像。第9張圖像應始終保持一致。
有什麼想法?
精密:
「硬」的部分對我來說是知道已經使用的號碼,這是事先沒有
感謝
我需要生成一個隨機圖像庫。除了中間的那個必須始終是相同的。隨機數循環,除了中間的一個
比方說,我有40個圖像。我需要從40中選擇16張隨機圖像。第9張圖像應始終保持一致。
有什麼想法?
精密:
「硬」的部分對我來說是知道已經使用的號碼,這是事先沒有
感謝
解決方案,而迭代:
$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
沿着這些線路的東西應該幫助你:
for ($i=1; $i<=16; $i++) {
if ($i==9) {
// show static image
} else {
// generate random nr between 1 and 40
}
}
所以,寫一個函數printRandomImage()
調用8次,然後打印非隨機圖像,然後再調用7次。
如果您想避免隨機圖像中的重複,則必須從40張圖像的列表中刪除已選擇的圖像。
你顯示16張圖像。那些代表已經用過的東西不是那些代表嗎?!是什麼讓這個「難」? – stillstanding 2010-11-23 10:10:15
我需要知道,所以我不使用他們與我的隨機代 – Flipke 2010-11-23 10:17:02
看到我的答案。 `$ array`包含使用的數字。 `$未使用的`具有在洗牌期間未被包括的數字。 – stillstanding 2010-11-23 10:19:14