for($e='a';$e<='z';$e++){ echo ord($e)."<Br>"; echo $e."<Br>"; } 不是到z结束,而是到yz结束,主要问题出在$e++上PHP 中处理字符串的运算时,将字符串作为类似数字 进制的处理,A-Z 对应为1-26。 ’a‘+1 等于b,'z'+1 进位 等于 aa。 但是,字符串比较运算时,是依次比较字符串中字幕的先后顺序。 也就是,z>aa,z> yz ,a<za。 所以,只有当循环执行到$e = 'za';循环才会终止。 'yz'+1=za。
php for 循环a到z为什么会出现这么奇怪的现象?
最新推荐文章于 2021-04-12 13:17:17 发布