使用 json_encode 将 PHP 数组转换为 JSON 数组
使用 PHP 数组时,了解它们在使用时如何在 JSON 中表示非常重要json_encode。默认情况下,当 PHP 数组的键不连续时,它们会被编码为 JSON 对象。
考虑以下 PHP 数组:
$input = [ [ "id" => 0, "name" => "name1", "short_name" => "n1" ], [ "id" => 2, "name" => "name2", "short_name" => "n2" ] ];
当尝试使用 json_encode 对此数组进行编码时,结果将是以下 JSON 对象:
{ "0": { "id": 0, "name": "name1", "short_name": "n1" }, "2": { "id": 2, "name": "name2", "short_name": "n2" } }
出现此行为的原因是数组键不连续(0 和 2)。要将数组编码为 JSON 数组,所有键必须是连续的。
解决方案:使用 array_values 重新索引
要将数组转换为顺序格式,请使用 array_values function:
$output = json_encode(array_values($input));
这会重新索引数组,从 0 开始,确保键顺序。生成的 JSON 成为数组:
[ { "id": 0, "name": "name1", "short_name": "n1" }, { "id": 2, "name": "name2", "short_name": "n2" } ]
通过了解 JSON 中的 PHP 数组表示形式并使用 array_values 进行顺序重新索引,您可以使用 json_encode 成功将 PHP 数组编码为 JSON 数组。
以上是如何使用'json_encode”将 PHP 数组转换为 JSON 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!