在PHP中使用隨機數的三個步驟
- php語言
- 關注:2.82W次
如何做一個隨機的出現的網頁,可是用rand()就是不行,聽說要初始化隨機數,可是怎麼初始化,請不吝賜教,謝謝!
//第一步:初始化種子
$seedarray =microtime();
$seedstr =split(" ",$seedarray,5);
$seed =$seedstr[0]*10000;
//第二步:使用種子初始化隨機數發生器
srand($seed);
//第三步:生成指定範圍內的隨機數
$random =rand(10,40);</p
【拓展閱讀】
分享下php生成隨機數的三種方法,生成1-10之間的不重複隨機數,php生成不重複隨機數的例子
如何用php生成1-10之間的不重複隨機數?
例1,使用shuffle函式生成隨機數。
<?php$arr=range(1,10);shuffle($arr);foreach($arr as $values){ echo $values." ";}?>
例2,使用array_unique函式生成隨機數。
<?php$arr=array();while(count($arr)<10){ $arr[]=rand(1,10); $arr=array_unique($arr);}echo implode(" ",$arr);?>
例3,使用array_flip函式生成隨機數,可以去掉重複值。
<?php$arr=array();$count1=0;$count = 0;$return = array();while ($count < 10) { $return[] = mt_rand(1, 10); $return = array_flip(array_flip($return)); $count = count($return); } //foreach($return as $value) { echo $value." "; }echo "<br/>";$arr=array_values($return);// 獲得陣列的'值 foreach($arr as $key)echo $key." ";?>
本人是asp程式設計師,這是首次寫php程式,一點心得發上來共享
<?php $ip2id= round(rand(600000, 2550000) / 10000); //第一種方法,直接生成 $ip3id= round(rand(600000, 2550000) / 10000); $ip4id= round(rand(600000, 2550000) / 10000); //下面是第二種方法,在以下資料中隨機抽取 $arr_1 = array("218","218","66","66","218","218","60","60","202","204","66","66","66","59","61","60","222","221","66","59","60","60","66","218","218","62","63","64","66","66","122","211"); $randarr= mt_rand(0,count($arr_1)-1); $ip1id = $arr_1[$randarr]; echo $ip1id; echo "."; echo $ip2id; echo "."; echo $ip3id; echo "."; echo $ip4id; ?>
例輸出結果為
這個程式的特點是,生成的ip第一個欄位時在指定範圍內的,設定的幾個是國內常見號段,也就是說生成的ip地址大部分是國內的
核心程式碼:
<?php $arr_1 = array("","",""); $randarr= mt_rand(0,count($arr_1)-1); $gip= $arr_1[$randarr]; echo $gip."$randarr"; ?>
</p
- 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-tw/jsj/php/4xzgxm.html