【发布时间】:2012-06-02 11:19:47
【问题描述】:
在 PHP 中对多维数组进行 json_encode 时,我注意到一个不同的输出,只需命名其中一个数组,而不是不命名它们。例如:
$arrytest = array(array('a'=>1, 'b'=>2),array('c'=>3),array('d'=>4));
json_encode($arrytest)
给出一个包含多个 json 对象的数组
[{"a":1,"b":2},{"c":3},{"d":4}];
而只是为中间数组分配一个名称
$arrytest = array(array('a'=>1, 'b'=>2),"secondarray"=>array('c'=>3),array('d'=>4));
json_encode($arrytest)
创建一个包含多个 json 对象的单个 json 对象
{"0":{"a":1,"b":2},"secondarray":{"c":3},"1":{"d":4}};
为什么第一个选项不会返回与第二个执行相同的结果,用“1”代替“secondarray”
【问题讨论】:
-
Felix Kling,你为什么要删除我的 json-encode 标签?我并不是说你不应该这样做,而是我想确保我遵循正确的标记程序,因为 json-encode 在我的代码中,我虽然它会作为适当的标记应用。跨度>