使用符号定义制作随机字符串的问题

时间:2017-10-04 07:41:16

标签: php

我想使用字母,数字和特殊符号生成一个包含50个字符串的随机字符串。

以下代码对我来说很好。

但问题是,如果我添加特殊符号<

我不能正常工作

请帮助。

<?php
$complete_string = NULL;
$generated_string = NULL;
$generated_string_length = 50;

$lower_case_string = 'abcdefghijklmnopqrstuvwxyz';
$upper_case_string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$numbers_string = '0123456789';
$special_symbols_string = ',./?;:"[]{}+=-_)(*&^%$#@!~`>'; // All Special Symbols without <

$complete_string = $complete_string.$lower_case_string.$upper_case_string.$numbers_string.$special_symbols_string;

$generated_string = substr(str_shuffle(str_repeat($complete_string, ceil($generated_string_length/strlen($complete_string)) )),1,$generated_string_length);

echo $generated_string;
?>

1 个答案:

答案 0 :(得分:1)

function randstr ($len=10, $abc="abcdefghijklmnopqrstuvwxyz,./?;:[]{}+=-_)(*&^%$#@!~`>") {
    $letters = str_split($abc);
    $str = "";
    for ($i=0; $i<=$len; $i++) {
        $str .= $letters[rand(0, count($letters)-1)];
    };
    return $str;
};

echo randstr(50);