explode( "@@@ ", "@@@1@@@2@@@3@@@ "); 
这里写错了.
@@@后面多了个空格,所以分割时候结果不是你想要的.$$b[0]有,$$b[1]为空了.
-_-

解决方案 »

  1.   

    $$b[1]  如果这样写,那PHP首先解释$b[1],如果有这个例,例如是c 那么再执行$c
      

  2.   

    <? 
    $b=c; 
    $$b=explode( "@@@ ", "@@@1@@@2@@@3@@@ "); 
    print_r($$b);//这样可以输出数组,但是怎么调用具体某个数组的值呢,通过$$b[1]不能调用到数值 
    ?> 
    =============================================
    照此题解释则
    $$b=explode( "@@@ ", "@@@1@@@2@@@3@@@ ");
    相当于
    $c=explode( "@@@ ", "@@@1@@@2@@@3@@@ ");print_r($c);------------------------------------$$b[1] 相当于 因为$b[1]=c,所以就相当于 $c 也就是一个数组。
      

  3.   

    空格大概是csdn设置的,非我本意,不好意思
      

  4.   

    LZ学过C吗,如果学过就很好理解这个东东了
    $ 用在变量前
    有点类似于C中的指针
    但是当你把两个$写在一起成为$$的时候如果后面带下标
    你想的是($$b)[1];但是系统认的确是$($b[1]);
    那就成了,$($b[1])相当于用$b[1]的变量值作为变量名
    而$b[1]又没定义
    那么$$b[1]就当然没有值了
    像一楼的写法就对了,先把$$b赋给另一个变量,再再这个变量下用下标就不会有岐义了