我有这段代码:
public function __construct($Directory = null)
{
if ($Directory === null) {
trigger_error("Directory Must Be Set!", E_USER_ERROR);
}
if (isset($Directory)) {
if (!empty(trim($Directory))) { //Error Line
echo "test";
}
}
}
(回声用于我的调试目的。)
我收到了致命错误:
在写上下文中不能使用函数返回值
根据PHP风暴,这将返回:
预期变量
但是直接从这个问题中使用代码:
White spaces throwing off HTML form validation
这是正确的语法,因为我过去曾经使用过它......但是,在这种情况下,这会引发错误。这是为什么?
答案 0 :(得分:106)
来自empty
函数的PHP文档:
注意: 在PHP 5.5之前,empty()仅支持变量;其他任何东西都会导致解析错误。换句话说,以下将不起作用:empty(trim($ name))。相反,使用trim($ name)== false。
因此,您必须将该行拆分为以下内容:
$trimDir = trim($Directory);
if(!empty($trimDir))