多维数组的JSON_ENCODE,给出不同的结果
在 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个选项不会返回与第2个执行器相同的安慰,用“1”代替“secondarray”