欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php使用for循环生成4位验证码只生成了3位

程序员文章站 2022-05-10 08:36:08
...

我是用php for循环生成验证码,经常出现有一位验证码没能生成的情况,希望了解问题的大神的帮忙看下代码,非常感谢!

php使用for循环生成4位验证码只生成了3位
上图为生成效果

回复内容:

我是用php for循环生成验证码,经常出现有一位验证码没能生成的情况,希望了解问题的大神的帮忙看下代码,非常感谢!

php使用for循环生成4位验证码只生成了3位
上图为生成效果

1个可能的原因

$fontcontent = substr($data,rand(0,strlen($data)),1);

这里改为

$fontcontent = substr($data,rand(0,strlen($data)-1),1);

原因是php的rand方法为闭区间,前后分别为最小值和最大值,都可以出现

试试strlen($data)-1

$fontcontent = substr($data,rand(0,strlen($data)),1);这行

艾玛我点进来的时候还没有回复。跟楼上雷同,我不是故意的。
大家给楼上点赞吧。

相关标签: php