如何构造嵌套关联数组


How to construct a nested associative array

我正在尝试构造一个深度嵌套的关联数组,但我不知道构造一个数组的规则是什么。我有这个理论数组:

-one
-two
-three
-four
    -one
    -two
    -three
    -four
-five
-six
-seven
-eight
-nine
    -one
    -two            
    -three 
            -one
            -two
            -three
            -four
            -five
            -six

我尝试将其表示为 PHP 关联数组;

$associative = array(
'one' => 'one-1',
'two' => 'two-2',
'three' => 'three-3',
'four' => 'four-4'
(
    'one' => 'one-four-1',
    'two' => 'two-four-2',
    'three' => 'three-four-3',
    'four' => 'four-four-4'
)
'five' => 'five-5',
'six' => 'six-6',
'seven' => 'seven-7',
'eight' => 'eight-8',
'nine' => 'nine-9'
(
    'one' => 'one-nine-1',
    'two' => 'two-nine-2',          
    'three' => 'three-nine-3' 
(   
        'one' => 'one-nine-three-1',
        'two' => 'two-nine-three-2',
        'three' => 'three-nine-three-3',
        'four' => 'four-nine-three-4',
        'five' => 'five-nine-three-5',
        'six' => 'six-nine-three-6'
))
);
$keys = array_values($associative);
echo $keys[0];

当我尝试执行 php 代码段时,出现此错误;

解析错误:语法错误,意外的"(",预期")" C:''wamp''www''array.php 在第 7 行

所以我的问题是,编写这样一个数组的正确方法是什么,当我希望添加更多子数组时,我应该遵循什么规则?

注意:在我的理论数组中,四个有四个孩子,九个有三个孩子,三个有六个孩子。无论如何,我希望在我的虚拟数组中理解生孩子的想法。

子数组是顶级数组元素的实际值,您还必须使用 array() 启动它们:

$associative = array(
    'one' => 'one-1',
    'two' => 'two-2',
    'three' => 'three-3',
    'four' => array(
        'one' => 'one-four-1',
        'two' => 'two-four-2',
        'three' => 'three-four-3',
        'four' => 'four-four-4'
    ),
    'five' => 'five-5',
    'six' => 'six-6',
    'seven' => 'seven-7',
    'eight' => 'eight-8',
    'nine' => array(
        'one' => 'one-nine-1',
        'two' => 'two-nine-2',          
        'three' => array(   
            'one' => 'one-nine-three-1',
            'two' => 'two-nine-three-2',
            'three' => 'three-nine-three-3',
            'four' => 'four-nine-three-4',
            'five' => 'five-nine-three-5',
            'six' => 'six-nine-three-6'
        ),
    ),
);

请注意,我还在每个结束)后添加了, s,因为,就像我说的,数组是父数组元素的值。

$associative = array(
  'one' => 'one-1',
  'two' => 'two-2',
 'three' => 'three-3',
 'four' => array(
   'one' => 'one-four-1',
    'two' => 'two-four-2',
    'three' => 'three-four-3',
   'four' => 'four-four-4'
 ),
  'five' => 'five-5',
  'six' => 'six-6',
  'seven' => 'seven-7',
  'eight' => 'eight-8',
  'nine' => array(
    'one' => 'one-nine-1',
    'two' => 'two-nine-2',          
    'three' => array(
        'one' => 'one-nine-three-1',
        'two' => 'two-nine-three-2',
        'three' => 'three-nine-three-3',
        'four' => 'four-nine-three-4',
        'five' => 'five-nine-three-5',
        'six' => 'six-nine-three-6'
    )
  )
);
print_r($associative);