2017-07-26 96 views
0

我已定义的阵列的部分:动态创建多维数组要被编码成JSON

$arrData['categories'] = array(); 
array_push($arrData['categories'],array("category" => array(array("label"=>"Beef"),array("label"=>"Chicken")))); 
array_push($arrDAta['categories'][0]['category'],array("label"=>"pork")); 

的阵列被嵌套,以便它与所有编码成JSON正确的{[{[{[]} ]}]}格式正确。

但是,我需要动态创建这些类型的肉类,而不是静态的。当我尝试在代码的第三行添加到阵列模拟动态创建,它抛出一个错误:

Warning: array_push() expects parameter 1 to be an array, null given

好,$arrData['categories'][0]['category]是一个数组,那么它为什么拍我失望?

为了证明自己,我没疯,我的var_dump $arrData['categories'][0]['category']并获得大小为1的数组:

array (size=1) 
'category' => 
array (size=2) 
    0 => 
    array (size=1) 
     'label' => string 'Beef' (length=4) 
    1 => 
    array (size=1) 
     'label' => string 'Chicken' (length=7) 

回答

0

它的资本。在第三行中,变量$ arrDAta的大小写与其他值不同($ arrData)

+0

对不起,我关闭了电脑并上床睡觉。显然我是我们无法拥有好东西的原因。 ;) – Highdel