假設(shè)你需要N份
成都創(chuàng)新互聯(lián)主營前郭網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),前郭h5微信小程序開發(fā)搭建,前郭網(wǎng)站營銷推廣歡迎前郭等地區(qū)企業(yè)咨詢
用PHP隨機(jī)出來(100除以N)為最大值的(N-1)個(gè)數(shù)據(jù);
最后一個(gè)數(shù)據(jù)就是100減去前四個(gè)數(shù)據(jù)之和;
---------------------------------------------
如分成5份;
100/5=20;
那么隨機(jī)出來5-1=4
個(gè)整數(shù),隨機(jī)出來的四個(gè)整數(shù)不能超過20;
再用100-這四個(gè)隨機(jī)數(shù)之和;得數(shù)是第五個(gè)數(shù);
OK;;
每次隨機(jī)取出一個(gè)數(shù)之后,應(yīng)該刪除這個(gè)數(shù),才可以保證下次不取到它。例如你的100個(gè)數(shù),第一次隨機(jī)取一個(gè),然后刪除它,下次再剩余的99里面隨機(jī)取一個(gè),這樣就不會(huì)重復(fù)了。
寫代碼沒難度了吧,你寫寫看,如果希望我繼續(xù)回答,建議你粘貼一下你寫的內(nèi)容,不完整或者錯(cuò)誤沒關(guān)系,至少你去思考了的,而且我看了代碼知道你錯(cuò)在哪里,才可以針對(duì)性的講解。
沒空等你寫代碼了,我把我的貼出來,今天晚上要熬夜加班,沒空回來看帖子了,不好意思,希望你認(rèn)真學(xué)習(xí)。
?php
$arr=array();
for ($i=1;$i=100;$i++) array_push($arr,$i);
print_r($arr);
for ($i=1;$i=100;$i++){
$n=rand(0,count($arr)-1);//產(chǎn)生隨機(jī)數(shù),最小值是0,最大值是數(shù)組剩余元素可數(shù)-1
echo $arr[$n]," ";//顯示取的隨機(jī)數(shù)
array_slice($arr,$n,1);//刪除剛才取到的數(shù)
}
?
用PHP 隨機(jī)函數(shù)
$num = select count(*) from bbs;
$id= mt_rand(1,$num);
然后執(zhí)行 SQL select user,bbs from `bbs` where id = .$id;
為提高效率 最好別用 mysql的 rand()函數(shù)
1、隨機(jī)數(shù)本身就是隨機(jī)的。
2、如果有自增需求的話可以參考memcached uuid生成器,或者數(shù)據(jù)庫id自增。
3、或者預(yù)定義一個(gè)數(shù)組,然后隨機(jī)獲取數(shù)組的數(shù)據(jù),可以有效控制最后獲取的值。