您的位置:首页 > 编程语言 > PHP开发

PHP获取不重复的5个随机字符

2016-04-11 10:23 736 查看
PHP获取不重复的5个随机字符
public function random_str(){

        //获取随机0-9,a-Z的随机5个不重复的字符

        $menber = range('0','9');     //获取0-9的数据

        $lowercase = range('a','z'); //获取a-z的数据

        $uppercase = range('A','Z'); //获取A-Z的数据

        $arr = array_merge($menber,$lowercase,$uppercase); //合并数组

        shuffle($arr); //打乱数组

        $len = 5;        //获取字符个数(5个)

        $arr_end = array_slice($arr,0,$len); //取出从角标0开始,5个数组单元

        $result = '';    //使用一个变量保存最终结果值

        foreach($arr_end as $k=>$v){

            $result .= $v; //拼接字符,并保存在$result变量中

        }

        return $result; //返回结果值

    }

 

//合并后的结果为:

$arr = array(62) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> int(4) [5]=> int(5) [6]=> int(6) [7]=> int(7) [8]=> int(8) [9]=> int(9) [10]=> string(1) "a" [11]=> string(1) "b" [12]=> string(1) "c" [13]=>
string(1) "d" [14]=> string(1) "e" [15]=> string(1) "f" [16]=> string(1) "g" [17]=> string(1) "h" [18]=> string(1) "i" [19]=> string(1) "j" [20]=> string(1) "k" [21]=> string(1) "l" [22]=> string(1) "m" [23]=> string(1) "n" [24]=> string(1) "o" [25]=> string(1)
"p" [26]=> string(1) "q" [27]=> string(1) "r" [28]=> string(1) "s" [29]=> string(1) "t" [30]=> string(1) "u" [31]=> string(1) "v" [32]=> string(1) "w" [33]=> string(1) "x" [34]=> string(1) "y" [35]=> string(1) "z" [36]=> string(1) "A" [37]=> string(1) "B"
[38]=> string(1) "C" [39]=> string(1) "D" [40]=> string(1) "E" [41]=> string(1) "F" [42]=> string(1) "G" [43]=> string(1) "H" [44]=> string(1) "I" [45]=> string(1) "J" [46]=> string(1) "K" [47]=> string(1) "L" [48]=> string(1) "M" [49]=> string(1) "N" [50]=>
string(1) "O" [51]=> string(1) "P" [52]=> string(1) "Q" [53]=> string(1) "R" [54]=> string(1) "S" [55]=> string(1) "T" [56]=> string(1) "U" [57]=> string(1) "V" [58]=> string(1) "W" [59]=> string(1) "X" [60]=> string(1) "Y" [61]=> string(1) "Z" }
 

//最终结果:

string(5) "6Hdch"

 

PHP函数介绍:

range:

range() 建立一个包含指定范围单元的数组

eg:range(start ,limit,step );

start 

序列的第一个值。

limit 

序列结束于 limit 的值。

step 

如果给出了 step 的值,它将被作为单元之间的步进值。step 应该为正值。如果未指定,step 则默认为 1。

array_merge:

array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

eg:array_merge(array1,array2,array3,......)

shuffle:

shuffle()本函数打乱(随机排列单元的顺序)一个数组。 

shuffle(array);

array_slice:

array_slice()返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。

eg:array_slice ( array $array , int $offset [, int $length =
NULL [, bool $preserve_keys = false ]] )

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: