Php 在for循环中递增字符有效,递减无效?

Php 在for循环中递增字符有效,递减无效?,php,loops,for-loop,increment,chars,Php,Loops,For Loop,Increment,Chars,因此,我做了一些练习,并浏览了以下代码(生成“1.itema”、“2.itemb”等): echo“\n”; 对于($x='A';$x'M';$x--){ 回显“项目$x\n”; } 回音“\n”; 我错过了什么 PHP在处理算术运算时遵循Perl的约定 关于字符变量而不是C。例如,在PHP和Perl中,$a= ‘Z’$a++;将$a转换为'AA',而在C中a='Z';a++;变成 “[”(“Z”的ASCII值为90,“[”的ASCII值为91)。请注意 字符变量可以递增,但不能递减,即使如此

因此,我做了一些练习,并浏览了以下代码(生成“1.itema”、“2.itemb”等):

echo“\n”;
对于($x='A';$x'M';$x--){
回显“
  • 项目$x
  • \n”; } 回音“\n”;
    我错过了什么

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

    从PHP手册

    无论出于什么原因,<代码> ->代码>在字符串字符上都不起作用。从技术上看,增量字符应该是一个bug。考虑“代码> $x++<代码>与<代码> $x= $ x + 1;< /代码>,所以在您正在执行<代码> $x=”a′+ 1;<代码> >代码> $x=′z′- 1 < /代码>,这两个都应评估为<当字符转换为整数时,代码>0。
    echo "\n<ol>";
    for ($x='A'; $x<'G'; $x++){
        echo "<li>Item $x</li>\n";
    }
    echo "\n</ol>";
    
    echo "\n<ol>";
    for ($x = 'Z'; $x > 'M'; $x--){
        echo "<li>Item $x</li>\n";
    }
    echo "\n</ol>";