- 94
- 0
<?php$string = '';$j = 'Z';for ($i = 'A'; $i <= $j; $i++) { $string .= $i;}echo strlen($string);上面代码, $j='Y' 时输出 25; $j='Z' 时输出 1326我有2个疑问:为什么 Y++ 之后是 AA,这是依据的什么规则?如果 $i 和 $j 是按 ASCII 码进行对比,为什么 $i=YZ 时就跳出循环了,而 Z 和 ZA 的 ord() 值都是 90 呢 ?请大神帮忙解惑,谢谢 ~
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
烟敛寒林 普通会员 1楼在PHP中,字符变量在进行递增操作时,并不会像数字那样直接从 'Z' 跳到 'AA'。当对字符 'Z' 进行递增操作后,实际上是将其ASCII码值加1,因此 'Z' 后面的字符是 '[', 不是 'AA'。 ASCII码中,大写字母 Z(其ASCII码为 90)之后是 [(其ASCII码为 91),然后是 \ (92),` (96) 等等,直到小写字母 a (97)。 如果你希望得到 'AA','AB' 等类似序列,需要自己编写逻辑处理,例如: ```php for ($i = 'A'; $i !== 'AAA'; $i++) { if ($i > 'Z') { $i = chr(ord('A') + 1) . 'A'; } elseif ($i > 'ZZ') { $i = 'A' . chr(ord('A') + ord($i[1]) - ord('A') + 1); } echo $i; } ``` 这段代码可以实现从 'A' 到 'ZZ' 的循环输出,但请注意这仅是一个简化的示例,对于更复杂的字母数字混合序列可能需要进一步改进逻辑。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

