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) 。递增/递减其他字符变量则无效,原字符串没有变化 。”

也就是说:
复制代码 代码如下:

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

结果是:ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUA…………

还有字符串变量不能递减:
复制代码 代码如下:

$a = Z;
--$a;
echo $a; // Z

这也说明了$a++或++$a,不能要 $a = $a + 1;来解释
复制代码 代码如下:

$a = $b = Z;
$a = $a + 1;
echo $a; //1
++$b;
echo $b; //AA