1
回答
php 数组排序和unset的问题

目录下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;




举报
vbphp爱好者
发帖于3年前 1回/518阅
顶部