今天看到php手册上有这么一段话: “在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的。例如,在 Perl 中 $a = 'Z'; $a++; 将把 $a 变成'AA',而在 C 中,a = 'Z'; a++; 将把 a 变成 '['('Z' 的 ASCII 值是 90,'[' 的 ASCII 值是 91)。注意字符变量只能递增,不能递减,并且只支持纯字母(a-z 和 A-Z)。递增/递减其他字符变量则无效,原字符串没有变化。” 也就是说: <div class="codetitle"><a style="CURSOR: pointer" data="31379" class="copybut" id="copybut31379" onclick="doCopy('code31379')"> 代码如下:<div class="codebody" id="code31379"> for($i = 'A'; $i <= 'Z'; $i++) { echo $i; //if( $i == 'ZZZ') die(); } 结果是:ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUA………… 还有字符串变量不能递减: <div class="codetitle"><a style="CURSOR: pointer" data="23093" class="copybut" id="copybut23093" onclick="doCopy('code23093')"> 代码如下:<div class="codebody" id="code23093"> $a = 'Z'; --$a; echo $a; // Z 这也说明了$a++或++$a,不能要 $a = $a + 1;来解释 <div class="codetitle"><a style="CURSOR: pointer" data="1067" class="copybut" id="copybut1067" onclick="doCopy('code1067')"> 代码如下:<div class="codebody" id="code1067"> $a = $b = 'Z'; $a = $a + 1; echo $a; //1 ++$b; echo $b; //AA
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|