在php中创建三维数组的正确方法

时间:2014-06-05 15:56:42

标签: php arrays json multidimensional-array

我想在php中创建一个如下所示的数组:

_________________________________________
|time | event | childEvents              |
|_____|_______|__________________________|
|9:00 |Event1 | String[]{subE11, subE12} |
|_____|_______|__________________________|
|10:00|Event2 | String[]{subE21, subE22} |
|_____|_______|__________________________|

会有更多行,但这只是一个示例。所以我需要将一个String Array作为数组中的一个元素。我只是假设(可能是错误的)最好/唯一的方法是使用三维数组。

$stuff = array(
    array('time' => '9:00 AM', 'event' => 'Event1', childEvents => (array(subE11, subE12)),
    array('time' => '2:00 AM', 'event' => 'Event2', childEvents => (array(subE21, subE22)),

); //I get error here

在注释行中,我收到错误Parse error: syntax error, unexpected ';', expecting ')' 我需要将此数组作为JSON传递。我可以使用
将三维数组传递给json  echo json_encode($stuff);我在初始化数组时做错了吗?

4 个答案:

答案 0 :(得分:1)

有点 关闭。试试这个:

$stuff = array(
    array('time' => '9:00 AM', 'event' => 'Event1', 'childEvents' => array('subE11', 'subE12')),
    array('time' => '2:00 AM', 'event' => 'Event2', 'childEvents' => array('subE21', 'subE22')),
);

Codepad exampl e w / var_dump。

答案 1 :(得分:1)

$stuff = array(
    array('time' => '9:00 AM', 'event' => 'Event1', 'childEvents' => (array('subE11', 'subE12'))),
    array('time' => '2:00 AM', 'event' => 'Event2', 'childEvents' => (array('subE21', 'subE22')))
);

删除第二个数组末尾的额外comma,并为single quotes键及其值添加childEvents

答案 2 :(得分:1)

1)计算括号:在两条中间线中,您有3个开口,但只有2个关闭。

2)必须引用childEvents及其值:

$stuff = array(
    array('time' => '9:00 AM', 'event' => 'Event1', 'childEvents' => (array('subE11', 'subE12'))),
    array('time' => '2:00 AM', 'event' => 'Event2', 'childEvents' => (array('subE21', 'subE22')))
);

答案 3 :(得分:-2)

这是另一个帮助您正确定义的示例

<?php   
 $categories = array( array ( array( 'CAR_TIR', 'Tires', 100 ),
                   array( 'CAR_OIL', 'Oil', 10 ),
                   array( 'CAR_SPK', 'Spark Plugs', 4 )
                  ),
               array ( array( 'VAN_TIR', 'Tires', 120 ),
                   array( 'VAN_OIL', 'Oil', 12 ),
                   array( 'VAN_SPK', 'Spark Plugs', 5 )
                  ),
               array ( array( 'TRK_TIR', 'Tires', 150 ),
                   array( 'TRK_OIL', 'Oil', 15 ),
                   array( 'TRK_SPK', 'Spark Plugs', 6 )
                  )
              );
?>