<?php
$i = 'W';
for ($n=0; $n<6; $n++) {
    echo ++$i . "<br/>";
}
?>上面的代码这什么运行出来的结果是这样的:
X
Y
Z
AA
AB
AC

解决方案 »

  1.   

    说不上是为什么
    这是 C 语言编译程序提供的内置功能,因为很有用,所以就一直保存下来了比如 execl 的列标题,linux 中的临时文件名
      

  2.   


    <?php
    for($i=0; $i<6; $i++){
    echo chr(ord("w")+$i);
    }
    #result:
    #wxyz{|
    ?>
      

  3.   

    如果改成
    $i = 'a';
    for ($n=0; $n<26; $n++) {
      echo $i++ . "<br/>";
    }正常输出26个英文字母,如果改变 $n<的条件,输出的结果就和excel表格的列标一样
    我只知道点,这个lz是从哪里看到的,代码虽然简单,但是为什么恐怕没有几个人能说的明白 ,1楼的人说的是最清楚的啦
      

  4.   

    手册有啊。。手册 -> 语言参考 -> 运算符 -> 递增/递减运算符在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的。例如,在 Perl 中 'Z'+1 将得到 'AA',而在 C 中,'Z'+1 将得到 '['(ord('Z') == 90,ord('[') == 91)。注意字符变量只能递增,不能递减。
      

  5.   

    LZ是想问Z后面为什么是AA 还是++i  i++
      

  6.   

    同意7楼的观点,补充一点:PHP将字母"W"当成了26进制数,所以当$i="Z"时,再加1,就自动进位成26进制数:"AA"了。