增加for循环中的chars工作,减少不会?

时间:2015-11-16 21:13:47

标签: php loops for-loop increment chars

所以我做了一些练习并遇到了这个代码(生成“1. Item A”,“2。Item B”等):

echo "\n<ol>";
for ($x='A'; $x<'G'; $x++){
    echo "<li>Item $x</li>\n";
}
echo "\n</ol>";

好奇,我试图做反向(产生无限循环的Zs):

echo "\n<ol>";
for ($x = 'Z'; $x > 'M'; $x--){
    echo "<li>Item $x</li>\n";
}
echo "\n</ol>";

我在这里错过了什么?

1 个答案:

答案 0 :(得分:4)

  

PHP在处理算术运算时遵循Perl的约定   关于字符变量而不是C。例如,在PHP和Perl $ a =中   'Z'; $ A ++;将$ a变为'AA',而在C a ='Z';一个++;变成一个   '['('Z'的ASCII值为90,'['的ASCII值为91)。注意   字符变量可以递增但不递减,即使如此   只有普通的ASCII字母和数字(a-z,A-Z和0-9)   支持的。递增/递减其他字符变量没有   效果,原始字符串不变。

来自PHP手册link