所以......这更像是一种好奇心,而不是一个真正的问题.我不明白这个:
<?php
define('EMPTY', 1);
echo EMPTY;
Run Code Online (Sandbox Code Playgroud)
结果:解析错误:语法错误,意外';',期待'(''
我的第一个想法是空为空函数保留.但后来我尝试了:
<?php
define('IS_ARRAY', 1);
echo IS_ARRAY;
Run Code Online (Sandbox Code Playgroud)
结果:1
所以...我不明白.为什么空不能用作常数,例如is_array,die等等.
empty它不是一个函数,而是一个语言构造(更像是一个运算符而不是一个函数),这意味着它在解析时由解析器解析,而不是由运行时解析.它是一个保留关键字,你不能将它用于任何你自己的函数名称或常量.
原因empty不能是常规功能,因为它的行为不同.empty($undefined)首先解决$undefined,抛出一个错误,然后传递null给empty; 这正是empty应该防止的情况,所以它不能通过正常的函数调用规则来播放.
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |