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中文网其它相关文章!