<?php
define('foo', 'bar');
if (empty(foo)) {
echo 'qux';
}
http://codepad.org/G1TSK1c6 http://codepad.org/G1TSK1c6
解析错误:语法错误,意外的 ')',期望在第 4 行出现 T_PAAMAYIM_NEKUDOTAYIM
我知道empty()
只允许变量作为参数传递,但为什么它需要 T_PAAMAYIM_NEKUDOTAYIM (即::
)当我给它一个常数时?
解析器想要的下一个合乎逻辑的事情是::
因为foo
不是变量。
if (empty(foo::$bar)) {
}
是唯一有效的方法empty()
没有传递变量。您的示例被评估为empty(bar)
解析器假设bar
是一个类名,现在需要一个静态成员变量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)