繁体   English   中英

如何将嵌套数组树嵌入到嵌套对象树中?

[英]How can I make a nested array tree into an nested object tree?

这是我的代码:

$adjacencies = array (  "0" => array(   "name1" => "pear",
                                        "name2" => "jack",
                                        "data" => array()   ),
                        "1" => array(   "name1" => "pear",
                                        "name2" => "john",
                                        "data" => array()   )
                    );

$final_array['adjacencies'] = $adjacencies;
echo "<pre>";
print_r(json_encode($final_array));

这是上面代码的结果:

在此输入图像描述

如你所见, data的值是[] ,而我想要这个{} 我怎样才能做到这一点?

虽然我不确定你的问题背后的原因是什么,而不是将data键设置为数组,只需将其定义为新对象即可

$adjacencies = array (  "0" => array(   "name1" => "pear",
                                        "name2" => "jack",
                                        "data" => new stdClass()   ),
                        "1" => array(   "name1" => "pear",
                                        "name2" => "john",
                                        "data" => new stdClass()   )
                    );

$final_array['adjacencies'] = $adjacencies;
echo "<pre>";
print_r(json_encode($final_array));

资源:

http://php.net/manual/en/language.types.object.php#107071

如果它适合您(或stdClass),您可以使用ArrayObject。

PHP手册ArrayObject

例如:

php > echo json_encode([[],[]]);
[[],[]]
php > echo json_encode([ new ArrayObject(), new ArrayObject()]);
[{},{}]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM