处理 PHP 数组和 JSON 时,了解 JSON 数组和 JSON 对象之间的区别至关重要。 JSON 数组使用方括号表示,而 JSON 对象使用大括号。
在 PHP 数组中,键是数字(0 和 2)。但是,要编码为 JSON 数组,PHP 数组必须具有从 0 开始的连续键。
json_encode 的默认行为是将数组编码为 JSON 对象,这就是您获得结果的原因你描述的。要获取 JSON 数组,您需要使用 array_values() 顺序重新索引 PHP 数组。
$input = [ [ 'id' => 0, 'name' => 'name1', 'short_name' => 'n1' ], [ 'id' => 2, 'name' => 'name2', 'short_name' => 'n2' ] ]; $output = json_encode(array_values($input));
重新索引后,json_encode 的输出将是一个有效的 JSON 数组,根据需要:
[ { "id": 0, "name": "name1", "short_name": "n1" }, { "id": 2, "name": "name2", "short_name": "n2" } ]
以上是如何将 PHP 数组编码为 JSON 数组而不是 JSON 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!