2012-07-04 3 views
1

Я пытаюсь построить глубоко вложенный ассоциативный массив, но я не знаю, каковы правила в построении one.I есть этот theoritical массив:Как построить вложенный ассоциативный массив

-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-фрагмент, я получаю эту ошибку;

Parse error: syntax error, unexpected '(', expecting ')' in C:\wamp\www\array.php on line 7

Так что мой вопрос, что такое правильный способ написания такого массива и какие правила я должен следовать, когда я хочу, чтобы добавить больше детей ?.

Примечание: В моем теоретическом массиве четверо детей имеют четверо детей, у девяти детей трое детей и трое детей имеют шесть детей. В любом случае, я надеюсь, что идея иметь детей понятна в моем фиктивном массиве.

ответ

9

В Подмассивах фактических значения ваших элементов массива верхнего уровня, и вы должны начать использовать их 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' 
     ), 
    ), 
); 

Примечания, потому что, как Я сказал, что массивы являются значениями элементов родительского массива.

+0

Бах избил меня. – Brian

1
$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); 
Смежные вопросы