php 数组排序和unset的问题

vbphp爱好者 发布于 2015/10/29 15:09
阅读 585
收藏 1

目录下this.txt内容为:

{"this":[{"name":"a","url":"aa"},{"name":"b","url":"bb"},{"name":"c","url":"cc"}]}

现在用到

unset($okjson["this"][1])
删除
{"name":"b","url":"bb"}并转为json字符串理想结果为

{"this":[{"name":"a","url":"aa"},{"name":"c","url":"cc"}]}

但用以下代码运行的结果

{"this":{"0":{"name":"a","url":"aa"},"2":{"name":"c","url":"cc"}}}

出现这样的情况我发现是要对索引重新排序(因为unset($okjson["this"][2])就不需要对索引重排),试过array_values但出不来想要的结果,不知道怎么修改

php代码:

$lu='this.txt';
$js= file_get_contents($lu);
$okjson=json_decode($js,true);
var_dump($okjson);
unset($okjson["this"][1]);
var_dump($okjson);
$okjson=json_encode( (object)$okjson);
echo $okjson;




加载中
0
老陌
老陌
$okjson['this'] = array_values($okjson['this']);



v
vbphp爱好者
谢了
返回顶部
顶部