var $security_settings  = array(
                                    'PHP_HANDLING'    => false,
                                    'IF_FUNCS'        => array('array', 'list',
                                                               'isset', 'empty',
                                                               'count', 'sizeof',
                                                               'in_array', 'is_array',
                                                               'true', 'false', 'null'),
                                    'INCLUDE_ANY'     => false,
                                    'PHP_TAGS'        => false,
                                    'MODIFIER_FUNCS'  => array('count'),
                                    'ALLOW_CONSTANTS'  => false
                                   );这种数组怎么理解是;关联数组吗为什么又可以欠套一层数组

解决方案 »

  1.   

    这个数组是一个多维数组, PHP 中的数组十分的强大,
    可以任意维数, 可以定义类似C链表一样结构的不规则数组.你给出的数组中, $security_settings 是一个二维数组, 因为它的最大维数,是2,
    其中第二维 分别是 它内部的两个 array标识的数组一定要学会灵活使用php的数组.
      

  2.   

    我如果要引用'IF_FUNCS'        => array('array', 'list', 
                                                                  'isset', 'empty', 
                                                                  'count', 'sizeof', 
                                                                  'in_array', 'is_array', 
                                                                  'true', 'false', 'null'),security_settings['if_funcs']  下面的 的这些子数组。如果要调用的话,要怎么表示。  ???
      

  3.   

    阿滨:
        若要清楚地回答您的问题,需要了解php数组实现的机理,看看设计者的原代码即可。
         1、所定义数组确为关联数组
         2、为何欠套一层数组,根据结果判断如下,只是推断仅供参考。
         php变量类型不需固定,可以根据赋值动态调整,也即在赋值确定变量类型,数组也是一种变量,可以被赋值。  
      

  4.   

    阿滨: 
        1楼回答是2维数组不正确。针对您在2楼问题,可这样使用:
         $security_settings['IF_FUNCS'][0];其结果为 ‘array’  ;
         $security_settings['IF_FUNCS'][3];其结果为 ‘empty’  ;
      

  5.   

    谢谢两位的回答,PHP的数组定义格式真的很灵活。没有想到二维里的第二维可以这样嵌套的。我觉的二楼应该说的没错,这是二维数组。也是个关组数组。