在php的mt_rand(0,strlen)-1,为什么要减丨

如题所述

第1个回答  2015-05-20
没有看到完整代码,根据strlen可以知道这块是用strlen或mb_strlen计算的字符串长度,如果,为什么减1,如果我推论没错这段代码应该是
mt_rand(0,strlen-1);举个例子,从一个字符串随机取出一段一定长度的随机字符串,验证码就是样的。

$randStr = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$strlen = strlen($randStr);
$code = '';
for($i=0;$i<4;++$i){
$code .= $randStr[mt_rand(0,$strlen-1)];
}
echo $code;本回答被提问者和网友采纳
第2个回答  2015-05-20
把完整的代码贴出来追问

我想问的是为何-1

第3个回答  2015-05-20
这得看你的业务逻辑