php 有关array_keys,array_merge的一次报错
array_merge 类型不同导致的问题
$a = ['1'=>'php',2=>'mysql',3=>'redis'];
$c = ['1'=>'zabbix','2'=>'mysql'];
$d = array_merge($a,$c);
var_dump($d);
结果如下
array(5) {
[0]=>
string(3) "php"
[1]=>
string(5) "mysql"
[2]=>
string(5) "redis"
[3]=>
string(6) "zabbix"
[4]=>
string(5) "mysql"
}
我们发现当key为数字的时候,array_merge
是不会进行去重的!!!!
array_keys 导致的类型转换
$a = ['1'=>'php','2'=>'mysql','3'=>'redis'];
var_dump(array_keys($a));
结果
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
我们发现key通过array_keys之后都变成了int类型!!!