首頁 > 後端開發 > php教程 > 產生隨機數 php產生隨機數的兩種方法實例代碼 輸出隨機IP

產生隨機數 php產生隨機數的兩種方法實例代碼 輸出隨機IP

WBOY
發布: 2016-07-29 08:44:44
原創
1158 人瀏覽過

分享下php產生隨機數的三種方法,產生1-10之間的不重複隨機數,php產生不重複隨機數的例子,需要的朋友參考下。

如何用php產生1-10之間的不重複隨機數?

例1,使用shuffle函數產生隨機數。

<&#63;php
$arr=range(1,10);
shuffle($arr);
foreach($arr as $values)
{
  echo $values." ";
}
&#63;>
登入後複製

例2,使用array_unique函數產生隨機數。

<&#63;php
$arr=array();
while(count($arr)<10)
{
  $arr[]=rand(1,10);
  $arr=array_unique($arr);
}
echo implode(" ",$arr);
&#63;>
登入後複製

例3,使用array_flip函數產生隨機數,可以去掉重複值。

<&#63;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);
 } //www.jb51.net
foreach($return as $value)
 {
  echo $value." ";
 }
echo "<br/>";
$arr=array_values($return);// 获得数组的值 
foreach($arr as $key)
echo $key." ";
?>
登入後複製

自己是asp程式設計師,這是首次寫php程序,一點心得發上來分享

<&#63;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; 
&#63;>
登入後複製

例輸出結果為218.28.131.182
這個程式的特點是,產生的ip第一個欄位時在指定範圍內的,設定的幾個是國內常見號段,也就是說產生的ip位址大部分是國內的
核心程式碼:

<&#63;php 
$arr_1 = array("http://66.249.89.99","http://66.249.89.104","http://74.125.71.105"); 
$randarr= mt_rand(0,count($arr_1)-1); 
$gip= $arr_1[$randarr]; 
echo $gip."$randarr"; 
&#63;>
登入後複製

以上就介紹了產生隨機數 php產生隨機數的兩種方法實例代碼 輸出隨機IP,包括了產生隨機數方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板