程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP生成隨機數的方法實例分析

PHP生成隨機數的方法實例分析

編輯:PHP綜合

通常情況下,當我們要生成一個隨機字符串時,總是先創建一個字符池,然後用一個循環和mt_rand()或rand()生成php隨機數,從字符池中隨機選取字符,最後拼湊出需要的長度。
復制代碼 代碼如下:function randomkeys($length)
{
$pattern = '1234567890abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l
t;>?;#:@~[]{}-_=+)(*&^%$?!'; //字符池
for($i=0;$i<$length;$i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php隨機數
}
return $key;
}
echo randomkeys(8);

這個php隨機函數能生成XC*=z~7L這樣的字符串,夠隨機!現在介紹另一種用PHP生成隨機數的方法:利用chr()函數,省去創建字符池的步驟。
復制代碼 代碼如下:function randomkeys($length)
{
$output='';
for ($a = 0; $a < $length; $a++) {
$output .= chr(mt_rand(33, 126)); //生成php隨機數
}
return $output;
}
echo randomkeys(8);

在第二個php隨機函數裡,先用mt_rand()生成一個介於33到126之間的php隨機數,然後用chr()函數轉化成字符。查看ascii碼表就會發現,33到126代表的正是第一個函數中字符池裡的所有字符。第二個函數和第一個函數功能相同,而且更簡潔。

希望本文所述對大家的php程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved