2

私は深くネストされた連想配列を構築しようとしていますが、それを構築する際のルールがわかりません。私はこの理論的な配列を持っています:

-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スニペットを実行しようとすると、このエラーが発生します。

解析エラー:構文エラー、7行目のC:\ wamp \ www \ array.phpに予期しない'('、')'が必要です

だから私の質問は、そのような配列を書く正しい方法は何ですか、そして私がもっと子供を追加したいときはどのような規則に従うべきですか?

注:私の理論上の配列では、4つには4つの子があり、9つには3つの子があり、3つには6つの子があります。とにかく、子を持つという考えが私のダミー配列で理解されることを願っています。

4

2 に答える 2

14

サブ配列は最上位の配列要素の実際の値であり、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も追加したことに注意してください。)

于 2012-07-04T12:44:07.723 に答える
2
$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);
于 2012-07-04T12:47:56.773 に答える