随机字符串函数有时会返回null

Bro*_*ke. 1 php random function

我使用它生成一个0-3的随机数,它工作正常除了现在然后它将返回null,我不知道为什么.任何想法都会很棒

function genRandomString($length=1,$characters = '0123',$string = '') {
for ($p = 0; $p < $length; $p++) {
    $string .= $characters[mt_rand(0, strlen($characters))];
}

return $string; } 
Run Code Online (Sandbox Code Playgroud)

kam*_*ahl 5

StrLen($ characters)返回4 mt_rand(0,4)将导致随机数从0到包含4.

$ characters的长度为4,你可以从$ characters [0]到$ characters [3]访问它.如果你生成一个随机4,你访问$ characters [4],所以你得到你的空

  • yes $ string.= $ characters [mt_rand(0,strlen($ characters)-1)]; (2认同)