‘壹’ 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);
?>