arrayobject 帮助 json_encode 生成数字下标的对象

有个需求,我想得到一个 JSON 对象,key 是数字,比如:

{"0":"first","1":"second"}

第一个想法是用字符串做索引,看代码:

$arr = array();
$key = '0';
$arr[$key] = 'first';
$key = '1';
$arr[$key] = 'second';
$json = json_encode($arr);
echo $json;

得到的结果不是我想要的,而是作为 Array 类型的对象:

["first","second"]

如何得到 Object 类型的对象?

今天找到一个方法:

$arr = new arrayobject($arr);

在做 json_encode 之前把 $arr 转换成对象即可。

再次执行,得到想要的结果:

{"0":"first","1":"second"}

Tags:

Leave a Reply

Your email address will not be published.

*