『壹』 php隨即生成6位數三位0-9三位a-z
以下函數可以實現隨機生成6位數,且其中三位為數字,另外三位為小寫字母:
functionmyRand(){
if(PHP_VERSION<'4.2.0'){
srand();
}
$randArr=array();
for($i=0;$i<3;$i++){
$randArr[$i]=rand(0,9);
$randArr[$i+3]=chr(rand(0,25)+97);
}
shuffle($randArr);
returnimplode('',$randArr);
}
解釋:
PHP_VERSION < '4.2.0'判斷PHP的版本,在版本>=4.2.0時,rand函數會自動播種,不需要調用srand,故此處只有在低於4.2.0版本下需要播種
rand函數會產生一個隨機數,范圍是兩個參數之間的整數(包括邊界),如rand(0,9)返回0~9中的任意一個(包括0和9)
chr返回指定ascii碼所代表的字元,97為a的ascii碼,chr(rand(0, 25) + 97)返回a-z中任意一個字元
shuffle函數會將數組的順序打亂
implode將數組中的元素用空白的字元連接成字元串,即拼接數組成為一個字元串
『貳』 PHP怎麼實現驗證碼中的字母是從a-z大小寫隨機包含。
代碼如下:
<?php
function createRandomStr($length){
$str = array_merge(range('a','z'),range('A','Z'));
shuffle($str);
$str = implode('',array_slice($str,0,$length));
return $str;
}
echo createRandomStr(4);
?>