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



我想在php:中创建一个看起来像这样的数组

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

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

$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传递。我可以使用
将三维数组传递给jsonecho json_encode($stuff);初始化数组时出错了吗?

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')))
);

有点接近。试试这个:

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

带var_dump的代码板示例。

$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,并为childEvents键及其值添加single quotes

这里的另一个例子将帮助您正确定义

<?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 )
                  )
              );
?>

相关内容

  • 没有找到相关文章

最新更新