php array_unique之后json_encode需要注意

yipeiwu_com7年前PHP代码库
例如:array_unique(array(1, 1, 2));
他的结果是
array(2) {
[0]=>
int(1)
[2]=>
int(2)
}

这就不是numeric数组了,直接做json_encode,会输出一个json对象,而不是数组
{"0":1,"2":2}

如果这时候页面上js需要的是[1,2]这种数组数据格式,就有可能会产生错误

此时应该在array_unique之后,在做一个array_values
这样:array_values(array_unique(array(1, 1, 2)));

结果就是[1,2]

相关文章

PHP最常用的2种设计模式工厂模式和单例模式介绍

1.工厂模式 主要作用是降低耦合度。 复制代码 代码如下: abstract class Operation{ abstract public function getValue($nu...

php如何实现不借助IDE快速定位行数或者方法定义的文件和位置

php 如何实现不借助IDE快速定位行数或者方法定义的文件和位置 借助了ReflectionMethod的一些特性,可以快速获得函数或者方法是在哪个文件的什么位置定义的,对于调试没有文档...

PHP 解决utf-8和gb2312编码转换问题

终于皇天不负有心人,答案还是让我找到了。 网上的都是这样用的 复制代码 代码如下:$content = iconv("utf-8","gb2312",$content); 这样做其实也对...

php多层数组与对象的转换实例代码

多层数组和对象转化的用途很简单,便于处理WebService中多层数组和对象的转化 简单的(array)和(object)只能处理单层的数据,对于多层的数组和对象转换则无能为力。 通过j...

Thinkphp结合ajaxFileUpload实现异步图片传输示例

前言 在做这个项目之前,对图片上传处理一直都是直接用表单提交的方式进行文件传输,这次因为需求,需要实现对图片进行异步传输,虽然实现并不难,毕竟现在插件太多了,但还是浪费了我很长的调试时间...