range(‘A‘,‘Z‘);输出A~Z,26个大写字母 range(‘a‘,‘z‘);range(0,9);
array_merge($数组名,···) 合并数组,支持多个。
数组下标重复就会完全重新索引,字符串型相同即重复下标,后出现的元素值会覆盖前面的元素值。
array_rand(数组名,n);随机地从数组内取得n个元素的下标。取得n个数的集合数组是按从小到大的顺序排列的。
shuffle(& 数组名);打乱数组内元素的顺序,参数是引用传递!会打乱原数组。
<?php
$upper_chars = range(‘A‘,‘Z‘);
$lower_chars = range(‘a‘,‘z‘);
$chars = array_merge($upper_chars,$lower_chars,range(0,9));
//var_dump($chars);
echo ‘<hr>‘;
$rand_key = array_rand($chars,4); //随机获取数组中4个元素的下标,获取的元素为一个集合数组。
//var_dump($rand_key); //取得结果4个数的集合输出时按从小到大的排序输出的
echo ‘<br>‘;
$new_key = shuffle($rand_key); //所以,这里要用到shuffle函数打乱数组内元素的顺序,shuffle(& $rand_key)
//var_dump($rand_key); //参数是引用传递!会打乱原数组。
//var_dump($new_key); //返回值true true/false
foreach($rand_key as $v){
echo $chars[$v]; //利用foreach 循环每4个随机字符输出。验证码内部字符。
}
原文:http://www.cnblogs.com/echo0821/p/5264146.html