有个需求,我想得到一个 JSON 对象,key 是数字,比如:
{"0":"first","1":"second"}
第一个想法是用字符串做索引,看代码:
$arr = array();
$key = '0';
$arr[$key] = 'first';
$key = '1';
$arr[$key] = 'second';
$json = json_encode($arr);
echo $json;
$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"}