同样是函数, 为什么empty访问不存在的索引就不会报错呢?...按理说哈, 函数调用的时候, 会将将参数传值过去吧, 也就是说两个函数的调用第一步, 都是要把$arr['1']这个内容取出来吧, 那又为什么一个能拿出来一个拿不出来呢?...但是, 冥冥中我是感觉他们是有区别的, 你要问我为什么, 来:
?
有没有发现, 编译器在显示的时候, empty函数和is_array函数的颜色不一样....再看一个可以展示其区别的例子:
$isArrFun = 'is_array';
var_dump($isArrFun(2));
$empFun = 'empty';
var_dump($empFun(1...对了, 再悄悄告诉你, PHP 中, 系统函数是可以被重新定义的, 只要你写一个同名函数就行, 但是关键字这几个老兄不吃这一套哦.