开始之前, 先抛出问题:
$arr = [];
echo 'empty: ', PHP_EOL;
var_dump(empty($arr['1']));
echo 'is_array: ', PHP_EOL...有没有发现, 编译器在显示的时候, empty函数和is_array函数的颜色不一样. 而empty和echo是相同的颜色, 那不就是说他们俩是一类货色么. 再看一下:
?
有没有发现什么?...PHP中的关键字用的就是这个颜色. 我仿佛明白了些什么.
随后, 我就去翻了翻官方文档, 还真让我发现了些许的端倪, 在empty函数的文档下, 有这样一段:
?...简单来说, 就是 PHP 所定义的那些关键字. 虽然用法看起来像函数, 但是在调用的时候直接映射到预先定义好的一系列操作, 而不会像函数一样进行传参等等解析操作....对了, 再悄悄告诉你, PHP 中, 系统函数是可以被重新定义的, 只要你写一个同名函数就行, 但是关键字这几个老兄不吃这一套哦.