最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP產(chǎn)生不重復(fù)隨機數(shù)的5個方法總結(jié)

 更新時間:2014年11月12日 09:38:58   投稿:junjie  
這篇文章主要介紹了PHP產(chǎn)生不重復(fù)隨機數(shù)的5個方法總結(jié),PHP隨機數(shù)經(jīng)常在項目中使用,本文總結(jié)了網(wǎng)絡(luò)上的和自己項目中用到的隨機數(shù)生成方法,需要的朋友可以參考下

無論是Web應(yīng)用,還是WAP或者移動應(yīng)用,隨機數(shù)都有其用武之地。在最近接觸的幾個小項目中,我也經(jīng)常需要和隨機數(shù)或者隨機數(shù)組打交道,所以,對于PHP如何產(chǎn)生不重復(fù)隨機數(shù)常用的幾種方法小結(jié)一下(ps:方法1、4、5是我常用的,其余來自網(wǎng)絡(luò)整理)

方法一:

復(fù)制代碼 代碼如下:

<?php
$numbers = range (1,50);
//shuffle 將數(shù)組順序隨即打亂
shuffle ($numbers);
//array_slice 取該數(shù)組中的某一段
$num=6;
$result = array_slice($numbers,0,$num);
print_r($result);
?>

方法二:

復(fù)制代碼 代碼如下:

<?php
$numbers = range (1,20);
//播下隨機數(shù)發(fā)生器種子,可有可無,測試后對結(jié)果沒有影響
srand ((float)microtime()*1000000);
shuffle ($numbers);
//跳過list第一個值(保存的是索引)
while (list(, $number) = each ($numbers)) {
echo "$number ";
}
?>

方法三:

復(fù)制代碼 代碼如下:

<?php
function NoRand($begin=0,$end=20,$limit=5){
$rand_array=range($begin,$end);
shuffle($rand_array);//調(diào)用現(xiàn)成的數(shù)組隨機排列函數(shù)
return array_slice($rand_array,0,$limit);//截取前$limit個
}
print_r(NoRand());
?>

 
上述可以在1-20間隨機產(chǎn)生5個不重復(fù)的值

方法四:

復(fù)制代碼 代碼如下:

<?php
$tmp=array();
while(count($tmp)<5){
$tmp[]=mt_rand(1,20);
$tmp=array_unique($tmp);
}
print_r($tmp);
?>

方法五:

復(fù)制代碼 代碼如下:

<?php
$tmp = range(1,30);
print_r(array_rand($tmp,10));
?>

這個可能是比叫簡單的了(ps:如果在range中指定了步長,就必須注意array_rand的第二個參數(shù)是否超出$tmp的長度)。

PHP提供非常豐富的數(shù)組函數(shù),產(chǎn)生隨機數(shù)大多可以從數(shù)組這個角度出發(fā),若你還有方法提供,歡迎給出,文章將持續(xù)更新。

相關(guān)文章

最新評論

连江县| 浦城县| 武乡县| 临邑县| 开鲁县| 武鸣县| 岑巩县| 新竹市| 斗六市| 禄劝| 饶阳县| 宜兰市| 高州市| 淳安县| 安图县| 永济市| 米脂县| 保山市| 衡阳县| 东海县| 太白县| 田林县| 福清市| 外汇| 大冶市| 行唐县| 平原县| 五家渠市| 长顺县| 于都县| 图木舒克市| 库伦旗| 濮阳县| 乌鲁木齐市| 东乡族自治县| 达日县| 固阳县| 上犹县| 岢岚县| 重庆市| 明星|