php索引数组,unset某个值后json_encode多出索引值

 

比如说有有一个数组

<?php

$arr = ["apple", "pear", "banana", "orange", "lemon", "strawberry"];

echo json_encode($arr). PHP_EOL;

结果是

["apple","pear","banana","orange","lemon","strawberry"]

如果我们执行unset($arr[4])

这时我们执行echo json_encode($arr). PHP_EOL;

{"0":"apple","1":"pear","2":"banana","3":"orange","5":"strawberry"}

多数出来索引,并且索引保持原先的值

这个时候要回复不带索引的json序列化,就需要使用array_value($arr),并且是在unset之后使用。

$arr = array_values($arr); echo json_encode($arr). PHP_EOL;

输出结果如下

["apple","pear","banana","orange","strawberry"]

白发渔樵

白发渔樵

发表评论

电子邮件地址不会被公开。 必填项已用*标注