我在使用空或修剪功能时遇到了新问题。我猜修剪不能返回布尔值,但我不知道为什么? :C
$author = htmlentities($_POST['author']);
if(empty(trim($author))) $author="Unknown";
给我这个错误:
致命错误:在写上下文中不能使用函数返回值
答案 0 :(得分:1)
来自http://php.net/manual/es/function.empty.php
“在PHP 5.5之前,empty()仅支持变量;其他任何内容都会导致解析错误。换句话说,以下内容将不起作用:empty(trim($ name))。相反,请使用修剪($ name)== false。“
或者将trim($name)
保存到另一个变量中,然后使用empty
答案 1 :(得分:0)
http://php.net/manual/en/function.empty.php
注意:
在PHP 5.5之前,empty()仅支持变量;别的什么都会 导致解析错误。换句话说,以下内容不起作用: 空(修剪($名))。相反,使用trim($ name)== false。
答案 2 :(得分:0)
分别修剪字符串变量。 trim()不能返回布尔值,因为它返回一个字符串值。如果你的意思是与trim()结合的empty()不能返回一个布尔值,我认为这很奇怪,应该可行。 试试这个:
$author = htmlentities($_POST['author']);
$author = trim($author);
if(empty($author)){
$author = "Unknown";
}