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使用自定义方法实现数组合并示例

PHP使用自定义方法实现数组合并示例

本文实例讲述了PHP使用自定义方法实现数组合并。分享给大家供大家参考,具体如下: 在PHP中提供了强大的数组功能,对于数组的合并也提供了两个方法:array_merge 和 array_...

PHP rawurlencode与urlencode函数的深入分析

问题:2个函数都是针对字符串转义使其适合做文件名。该用哪个?哪个更标准? 结论:rawurlencode遵守是94年国际标准备忘录RFC 1738,urlencode实现的是传统做法,和...

关于初学PHP时的知识积累总结

PHP基础一、初识PHPPHP是与HTML混合使用的嵌入式语言。1、PHP标记默认标记<?php ?> 短标记<? ?>,需在php.ini中将short_ope...

php文件后缀不强制为.php的实操方法

php文件后缀不强制为.php的实操方法

在大家学习PHP中,认为php文件的后缀一定为.php,其实不然,我们可以把它写成其他的后缀。这样也可以防止其他人的恶意攻击。 php文件后缀不强制为.php 首先,我们先测试一下,P...

PHP base64编码后解码乱码的解决办法

在用PHP做东西的时候发现了一个问题,可以简单的归结为乱码的问题,但是这个问题不是函数本身造成的。来看看罪魁祸首是谁。 嫌疑人:base64_encode 和 base64_decode...