首先來認識一下php教程提供的亂數函數rand()。 php的rand()函數將返回隨機整數,具體使用方法如下
rand(min,max)
可選參數min和max可以使rand() 返回0到rand_max之間的偽隨機整數。 例如,想要5到15(包括 5 和 15)之間的亂數,用 rand(5, 15)。
下面我來看一個具體的示例,我們做一個基本的函式呼叫,不設置具體的參數,我們得到的亂數將不受min和max兩個參數的限制。
複製代碼 代碼如下:
<? echo(rand());? > 得到的結果:652696728 (隨機結果)1、使用php生成指定區間內的亂數如果我們要生成兩個數字之間的亂數,我們需要為rand設定兩個參數:這樣,我們得到的結果就在我們的控制之中,他應該是minnum <= result <= maxnum;假設我們要使用php生成10000到2000之間的亂數,我們的代碼應該這樣寫:
複製代碼 代碼如下:
echo(rand(1000,2000));? >
夠簡單吧,下面來點稍微有些難度的。 在本文的開始我們說過,亂數的作用很大,我們可以用php亂數解決一些複雜的問題。 2、使用php獲得一個集合中的隨機元素將設我們需要從一個陣列中獲得一個隨機元素
複製代碼 代碼如下:
$my_array=array('asp教程','php','網頁特效','ajax','css教程','jquery','html');
echo($my_array[rand(0,6)]);
?> 可以想像,我們得到的結果可能是asp、php或javascript等任何一個包含在陣列中的元素。 注意,我們的my_array陣列包含七個元素,我們將rand()的參數設置為0到6之間。 下面我們使用兩組亂數對上面的示例做功能增強,我們需要一個亂數進行條件判斷,另一個亂數做元素的輸出。
複製代碼 代碼如下:
$my_array=array('asp','php','javascript','ajax','css','jquery','html');
$repetition=rand(0,6);
for($i=0;$i<=$repetition;$i++){
echo('i am learning ' . $my_array[rand(0,6)]);
echo(' on 51cto.com');
}
?>
我們得到的結果可能像下面這樣:
第一次運行我們得到三條結果
由於我們使用一個亂數限定顯示的條數,所以得到的結果除了文章隨機,顯示的條數也是隨機的,如下圖:
第二次運行得到七條結果
也許你會問,php亂數只能做這些無聊的事兒嗎?rand( )看來並不是那麼重要;你錯了,想想隨處可見的驗證碼、一些cms系統的隨機文章提取、下載位址分配等,亂數在這些應用中發揮著重要作用;另外,在安全和演算法領域, 亂數的很多應用也值得我們去深入研究,比如加密和同余法結構
<?php
$ip2id= round(rand(600000, 2550000) / 10000); //第一種方法,直接生成
$ip3id= round(rand(600000, 2550000) / 100 00);
$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;
?>