<?phpphp
$a=[1,2,3,4,5,6];
// var_dump($a);
$b=array_unique($a);
// var_dump($b);
var_dump(json_encode($b));json
$c=[1,2,3,4,5,5,6];
// var_dump($c);
$d=array_unique($c);
// var_dump($d);
var_dump(json_encode($d));数组
array_unique.php:7:stringspa
'[1,2,3,4,5,6]' (length=13)
array_unique.php:13:string.net
'{"0":1,"1":2,"2":3,"3":4,"4":5,"6":6}' (length=37)
通过去重的数组 json_encode 会认为 实际是一个对象 debug
缘由是由于,去重复以后的数组中的索引并非连续的,这样encode的时候它认为这样的key是键值对的存在,因此encode以后是一个对象code
使用 array_values 能够兼容处理对象
json_encode(array_values($d));索引
可参考PHP文档 http://php.net/manual/zh/function.json-encode.php文档