所以我做了一些练习并遇到了这个代码(生成“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>";
我在这里错过了什么?
答案 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