如何将具有非连续数字键的 PHP 数组编码为 JSON 数组?

Susan Sarandon
发布: 2024-11-21 12:21:10
原创
723 人浏览过

How to Encode a PHP Array with Non-Consecutive Numeric Keys as a JSON Array?

使用 json_encode() 解析 PHP 中数字数组的 JSON 对象输出

在 PHP 中使用 json_encode() 函数使用数字键对数组进行编码时,结果为通常是带有键的对象字符串而不是数组字符串。当需要数组的数组格式时,这可能会出现问题。

问题说明:

在 JavaScript 中,数组需要连续的数字键。如果 PHP 数组中的键不是连续的数字,json_encode() 将输出一个对象。

解决方案:

要在不使用正则表达式的情况下解决此问题,我们可以使用array_values() 函数丢弃原始数组键并用从零开始的连续编号替换它们。这样可以确保编码结果是一个数组字符串。

示例:

// Non-consecutive numeric keys in PHP array
$array = array(
    2 => array("Afghanistan", 32, 13),
    4 => array("Albania", 32, 12)
);

// Remove original keys with array_values()
$out = array_values($array);

// Encode the resulting array
$json = json_encode($out);

// Output: [["Afghanistan", 32, 13], ["Albania", 32, 12]]
登录后复制

通过使用 array_values(),我们获得所需的 JSON 格式的数组数组并避免使用非连续数字键的对象格式。

以上是如何将具有非连续数字键的 PHP 数组编码为 JSON 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板