我见过很多人使用
定义('XXX')或定义('XXX','XXX');
而不是
if(!defined('XXX')){
define('XXX', 'XXX');
}
第一个代码做的事情完全相同吗?人们为什么使用它?
最佳答案
该功能名为 short circuit evaluation这对于许多语言来说都是通用的。 bool 表达式从左到右计算,当已有结果时计算停止。在这种情况下,如果定义了常量,则无论其他项如何,表达式都为 TRUE
,因此 Define() 不会运行。
关于php - 检查未定义的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6808667/