You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将带非数值键的PHP数组编码为JSON数组?

解决方法:提取数组值再转JSON

这事儿很简单,你只需要先把原数组里的值单独提取出来,再进行JSON编码就可以了。PHP里正好有个专门干这个的函数——array_values(),它会忽略原数组的所有键(不管是字符串还是数字),返回一个纯值的索引数组,这样json_encode()就会把它转成JSON数组而不是对象啦。

具体代码示例:

// 你的原数组
$a = array( "french"=>"bonjour", "italian"=>"buongiorno", "spanish"=>"buenos dias" );

// 提取所有值,得到索引数组
$valueArray = array_values($a);

// 编码成JSON数组
echo json_encode($valueArray);

执行这段代码后,输出就是你想要的:

["bonjour","buongiorno","buenos dias"]

原理很直白:array_values()会重新构建一个以连续数字为索引的数组,而JSON规范里,只有数字索引且连续的PHP数组才会被json_encode()转为JSON数组,带字符串键的则会转为JSON对象。

内容的提问来源于stack exchange,提问作者JacopoStanchi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:15:38