台灣最大程式設計社群網站
線上人數
1205
 
會員總數:241735
討論主題:187049
歡迎您免費加入會員
討論區列表 >> PHP >> 亂數抽籤結果要怎麼不重複
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
亂數抽籤結果要怎麼不重複
價值 : 50 QP  點閱數:187 回應數:5

樓主

emma119018
門外漢
0 1
13 1
發送站內信

<?php
for($i=1;$i<=20;$i++){ //產生20個
if (count($_GET)>0){
$num_min=$_GET['num_min'];
$num_max=$_GET['num_max'];
echo $num=rand($num_min,$num_max)."<br>";
}
}
?>

這是我php部分的程式碼 , 想要請問我該如何在這當中加入抽籤結果不重複的語法
剛剛用了if卻失敗了 , 希望知道在這種情況應該使用那些語法比較適當
謝謝各位高手




搜尋相關Tags的文章: [ 亂數 ] , [ 抽籤 ] ,
本篇文章發表於2017-12-19 23:06
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

迷路
捐贈 VP 給 迷路 檢舉此回應
第一,請愛用程式標籤,像這樣直接貼的程式碼,除非只有一兩行,不然沒多少人有耐心看
第二,請盡可能將你嘗試過的方法貼出來,這樣我們可以直接告訴你
為什麼你的方法沒成功,是語法用錯了,或是邏輯有問題

回到你的問題,解決方法有二
第一,你可以將抽出的結果記錄下來,然後在抽的時候比對之前是否有抽過
第二,你可以先設立一個陣列將所有可被抽出的值放入,隨機抽出,並同步刪除陣列中的值,確保不會被再次抽出
本篇文章回覆於2017-12-20 09:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

小魚
檢舉此回應
if (count($_GET)>0)

這一行你想要判斷什麼?

基本上不重複的方式就像 迷路 大大說的這樣.
本篇文章回覆於2017-12-20 12:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
樓上的有說你的問題了,我就不在重覆了。
希望下次不要再犯。

一般來說,如果亂數值不多且可以是從多個值中抽出2個以上的值。
我大多會採用如下的做法


這樣子的做法,就可以是從中取出且一定不會重覆到。不需要用if來判斷。
本篇文章回覆於2017-12-20 14:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

emma119018
檢舉此回應
謝謝各位大大
因為是新手所以不知道程式要套到程式標籤會比較方便

程式問題解決了,謝謝大家
本篇文章回覆於2017-12-20 21:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
不管用哪個標籤都好
要的是它讓程式碼縮排顯示的效果
就像三樓星空大貼的那樣
本篇文章回覆於2017-12-22 09:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.