最近在看zencart的程序
发现有的数组用以下方式定义  $autoLoadConfig[50][] = array('autoType'=>'classInstantiate',
                                'className'=>'sniffer',
                                'objectName'=>'sniffer');
  $autoLoadConfig[50][] = array('autoType'=>'init_script',
                                'loadFile'=> 'init_gzip.php');
  $autoLoadConfig[50][] = array('autoType'=>'init_script',
                                'loadFile'=> 'init_sefu.php');
  $autoLoadConfig[50][] = array('autoType'=>'classInstantiate',
                                'className'=>'phpBB',
                                'objectName'=>'phpBB');
/**
问下,$autoLoadConfig[50][] 是一个二维数组吗,为什么用二个中括号表示,而且后面那个中括号还是空的。。

解决方案 »

  1.   

    $autoLoadConfig[50][] = array('autoType'=>'classInstantiate',
                                    'className'=>'sniffer',
                                    'objectName'=>'sniffer'); 
    //表示顺序的插入二维数组中
      

  2.   

    理解错误  呵呵   应该是把类似array('autoType'=>'classInstantiate', 
                                    'className'=>'sniffer', 
                                    'objectName'=>'sniffer'); 
       放到$autoLoadConfig数组的下表50   []空的括号应该是  从下表0开始依次插入  
     看下打印结果就会明白:
    Array ( [50] => Array ( [0] => Array ( [autoType] => classInstantiate [className] => sniffer [objectName] => sniffer ) [1] => Array ( [autoType] => init_script [loadFile] => init_gzip.php ) [2] => Array ( [autoType] => init_script [loadFile] => init_sefu.php ) [3] => Array ( [autoType] => classInstantiate [className] => phpBB [objectName] => phpBB ) ) ) 
      

  3.   

    $autoLoadConfig[50][] = array('autoType'=>'classInstantiate', 
                                    'className'=>'sniffer', 
                                    'objectName'=>'sniffer'); 
    就是说autoLoadConfig[50][]  是 autoLoadConfig[50][0]  这样一直接下来。那每个二维数组,又可以当一维数组来用吗。后面用附了那么多值array('autoType'=>'classInstantiate', 
                                    'className'=>'sniffer', 
                                    'objectName'=>'sniffer'); 
      

  4.   

    PHP定义数组的方式特别灵活,你打印出来看看就明白了
      

  5.   

      $autoLoadConfig[50][0] = array('autoType'=>'classInstantiate', 
                                    'className'=>'sniffer', 
                                    'objectName'=>'sniffer'); 
      $autoLoadConfig[50][1] = array('autoType'=>'init_script', 
                                    'loadFile'=> 'init_gzip.php'); 
      $autoLoadConfig[50][2] = array('autoType'=>'init_script', 
                                    'loadFile'=> 'init_sefu.php'); 
      $autoLoadConfig[50][3] = array('autoType'=>'classInstantiate', 
                                    'className'=>'phpBB', 
                                    'objectName'=>'phpBB'); 和这一样的道理 , 只不过当你不想自己写后面的二维时, 赋为空值, 系统会自动帮你添加键
      

  6.   

    $autoLoadConfig[50]
    : array = 
      0: array = 
        autoType: string = "classInstantiate"
        className: string = "sniffer"
        objectName: string = "sniffer"
      1: array = 
        autoType: string = "init_script"
        loadFile: string = "init_gzip.php"
      2: array = 
        autoType: string = "init_script"
        loadFile: string = "init_sefu.php"