PHP的坑之二:array_combine的长度校验

array_combine我以前没有用过,有次看手册看到这个函数,今天测试了一下,发现一坑。

先来看看手册的说明:
array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。
如果其中一个数组为空,或者两个数组的元素个数不同,则该函数返回 false。

[php]
error_reporting(0);
$a1 = array(1=>1, 2=>3);
$a2 = array(3);
$b = @array_combine($a1, $a2);
var_dump($b);//bool(true)
[/php]

如果屏蔽错误以后,最后拿到的数据是完全在意料之外的,这里一定要校验一下combine的两个数组长度