1. 程式人生 > >rand mt_rand substr 以及生成四位驗證碼

rand mt_rand substr 以及生成四位驗證碼

rand

定義:產生一個隨機整數

用法一:int rand(viod)   //沒有引數 返回0到getrandmax()之間的偽隨機整數

例如:
$str="abcdefghijklmnopqrstuvwxyz0123456789";

echo getrandmax();//生成最大的隨機數

echo '<br>';

echo rand();

用法二:int rand(int $min,int $max)  //可以有範圍

例如:
$str="abcdefghijklmnopqrstuvwxyz0123456789";

echo rand(0,10);

mt_rand

定義:生成更好的隨機數

建議使用mt_rand代替rand

echo mt_rand(0,10);

substr

定義:返回字串的子串

用法:string substr(string $string,int $start[,int $length])  返回字串string和length引數指定的子字串

echo substr($str,10,2);//比較簡單的用法,start為非負數
//start為負數,返回的字串將從string結尾處向前數第start個字元開始

$str="abcdef";
echo substr($str,-1);//返回f

echo substr($str,-3,1);//返回d

注意:string的長度小於或等於start將返回false。

//如果length為負數,那麼將從string末尾處的字元漏掉,(如果start為負數則從字串尾部算起)
$str="abcdef";
echo substr($str,0,-1);//返回abcde

echo substr($str,-3,-1);//返回de
//如果length的值為0,false,null,那麼將返回一個空字串
$str="abcdef";
echo substr($str,4,-4);//返回""

生成四位驗證碼

//生成四位驗證碼
//思路:隨機從以上字串選出4個

$str="abcdefghijklmnopqrstuvwxyz0123456789";
$len=strlen($str);//計算字串的長度
$yzm='';
for($i=0;$i<4;$i++){
   $rand=mt_rand(0,$len-1);
   $yzm.=substr($str,$rand,1);
}
echo $yzm;