如何利用数组生成一条验证码?
1.需要使用到的几个数组函数(使用的是2中的代码例子):
a.range
(起始值,结束值):生成一个指定范围的数组。
<?php $array=range('a','z');//生成一个从a-z的数组 ?>
b.array_merge
(): 合并一个或多个数组。
下标发生冲突则分为两种情况:
若为索引下标则重新排序
若为字符串下标,则后面的元素将前面的元素覆盖
<?php $array1=range('a','z'); $array2=rrange(0,9); $array3=range('f','z'); $array=array_merge($array1,$array2,$array3);//将$array1,$array2,$array3合并至$array
c.array_rand
(输入的数组,指明了你想取出多少个单元): 从数组中取出一个或多个随机的单元,并返回随机条目的一个或多个键。如果只取出一个,array_rand() 返回随机单元的键名。 否则就返回包含随机键名的数组。 完成后,就可以根据随机的键获取数组的随机值。 取出数量如果超过 array 的长度,就会导致 E_WARNING 错误,并返回 NULL。
<?php $index=array_rand($array,4);//从$array中取出4个单元
d.shuffle
(待操作的数组): 打乱(随机排列单元的顺序)一个数组。
<?php shuffle($index);//打乱下标
2.使用数组函数:
<?php $array=range('a','z'); $array=array_merge(range('a','z'),range('A','Z'),range(0,9),range('f','z')); $index=array_rand($array,4); shuffle($index); $str=''; foreach($index as $i){ $str.=$array[$i]; } echo $str;
推荐:php教程,php视频教程