修改 JSON 序列化的数组键
使用 json_encode() 函数时,具有数字键的数组可以序列化为对象而不是数组,导致不期望的输出。当数组键不连续时会发生这种情况。
要在不诉诸正则表达式的情况下解决此问题,请考虑在最外层数组结构上使用 array_values()。通过调用 array_values($array),您可以丢弃原来的数组键,并将其替换为从零开始的连续数字。
示例:
$array = [ 2 => ["Afghanistan", 32, 13], 4 => ["Albania", 32, 12] ]; $output = array_values($array); echo json_encode($output); // [[["Afghanistan", 32, 13], ["Albania", 32, 12]]]
此修改将根据需要确保序列化的 JSON 输出是数组的数组:
[["Afghanistan", 32, 13], ["Albania", 32, 12]]
以上是如何确保具有非连续键的数组的 JSON 序列化?的详细内容。更多信息请关注PHP中文网其他相关文章!