2024-10-26

PHP for 循环中 /’Z/’++ 为什么输出 /’AA/’?

php for 循环中  /'z/'++ 为什么输出 /'aa/'?

PHP for 循环疑难:’Z’++ 为什么输出 ‘AA’?

在 PHP 中使用 for 循环时,常会遇到 $i = ‘A’; $i

为什么 ‘Z’+1 后是 ‘AA’?

根据 PHP 手册中的说明,这是因为 PHP 跟随 Perl 惯例处理字符变量上的算术运算,而不是 C 语言的惯例。在 Perl 中,’Z’+1 会变为 ‘AA’,而在 C 语言中,’Z’+1 则会变为 ‘[‘。

立即学习PHP免费学习笔记(深入)”;

为什么 $i = ‘YZ’ 时会跳出循环?

这与 PHP 的字符串比较方式有关。PHP 的字符串比较并不是纯粹的 ASCII 比较,而是会先比较对应下标的字符,若相等,则比较字符串的长度。因此,尽管 ‘YZ’ 和 ‘Z’ 在 ASCII 码中都为 90,但由于 ‘YZ’ 的长度比 ‘Z’ 长,所以在比较时 ‘YZ’ 将会被认为大于 ‘Z’,导致循环提前跳出。

以上就是PHP for 循环中 /’Z/’++ 为什么输出 /’AA/’?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1065933.html

发表回复

Your email address will not be published. Required fields are marked *