PHP对字符串的递增运算深入分析

有同学问了一个问题:

有同学问了一个问题:

今天看到php手册上有这么一段话:

复制代码 代码如下:

复制代码 代码如下:

“在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的。例如,在
Perl 中 $a = ‘Z’; $a++; 将把 $a 变成’AA’,而在 C 中,a = ‘Z’; a++; 将把
a 变成 ‘[‘(’Z’ 的 ASCII 值是 90,'[‘ 的 ASCII 值是
91)。注意字符变量只能递增,不能递减,并且只支持纯字母(a-z 和
A-Z)。递增/递减其他字符变量则无效,原字符串没有变化。”

<?php
for($i = ‘A’; $i <= ‘Z’; $i++) {
echo $i;
}

<?php
for($i = ‘A’; $i <= ‘Z’; $i++) {
echo $i;
}
//输出是啥?

也就是说:

输出是啥?

输出是:

复制代码 代码如下:

输出是:

复制代码 代码如下:

for($i = ‘A’; $i <= ‘Z’; $i++) {
echo $i;
//if( $i == ‘ZZZ’) die();
}

ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARAS…….

ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARAS…….

结果是:ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUA…………

为啥?

为啥?

还有字符串变量不能递减:

发表评论

电子邮件地址不会被公开。 必填项已用*标注