如:
$a[]="QQQ";这样定义数组也可以?

解决方案 »

  1.   

    <?
        $a[]="QQQ";
        $b[]="KKK";
        echo $a[0];
        echo $b[1];
    ?>
    为什么出错?
      

  2.   

    当然会出错,你的数组$b都没有$b[1]这个单元,只有$b[0]
      

  3.   

    空的方括号是使用最小“可用”的整数作key
    可用指的是使用最大整数+1,没有使用数字键则为0
    <?php
    $a=array(3.9=>1, '3'=>2);
    $a[]=5;
    var_dump($a);
    ?>
    array(2) {
      [3]=>
      int(2)
      [4]=>
      int(5)
    }
      

  4.   

    《PHP与MYSQL程序设计》(第3版)
    第5章  数组
    5.2   创建数组如果认为索引值是数组索引而且是递增的,还可以在创建时省略索引值。
      

  5.   


    <?
        $a[]="QQQ";
        $b[]="KKK";
        echo $a[0];
        echo $b[1];
    ?>为什么出错了?
      

  6.   

    看#5的例子,$a最大key为3——"3"也视作整数key
    然后使用$a[]赋值,就递增到4,所以得到$a[4]=5可以省略为$a[]=5如果还不理解我也不知道怎么解释了
      

  7.   

    <?
        $a[0]="QQQ";
        $a[]="KKK";
        echo $a[0];
        echo $a[1];
    ?>
    同一个数组(如:$a[]),指定了一个数值键后。
    如果,数值键是递增。可以省略数值键。
    对么?
      

  8.   

    <?
        $a[0]="QQQ";
        $a[]="KKK";
        echo $a[0];
        echo $a[1];
    ?>
    同一个数组(如:$a[]),指定了一个数值键后。
    如果,数值键是递增。可以省略数值键。
    对么?
    array push 命令先自己查一下
    $a[]=push