php array_unique之后json_encode需要注意

yipeiwu_com6年前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中防止伪造跨站请求的小招式

伪造跨站请求介绍   伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。这种攻击常见的表现形式有:   伪造链接,引诱用户点击,或是让用...

PHP实现通过二维数组键值获取一维键名操作示例

本文实例讲述了PHP实现通过二维数组键值获取一维键名操作。分享给大家供大家参考,具体如下: 有如下既定数组: $inviteType = [ '扫码' => [...

php 远程包含文件漏洞分析第1/6页

几乎所有的cgi程序都有这样的 bug,只是具体的表现方式不一样罢了。 一、涉及到的危险函数〔include(),require()和include_once(),require_onc...

php面试实现反射注入的详细方法

PHP具有完整的反射API,提供了对类、接口、函数、方法和扩展进行逆向工程的能力。通过类的反射提供的能力我们能够知道类是如何被定义的,它有什么属性、什么方法、方法都有哪些参数,类文件的路...

php中global和$GLOBALS[]的分析之一

这可能引起一些问题,有些人可能漫不经心的改变一个全局变量。PHP 中全局变量在函数中使用时必须申明为全局(注意,Global这个关键字在函数中定义才有用)。 1:Global的作用是定义...