写入时不能使用函数返回值

I got new one problem with empty or trim function. I guess trim cant return a boolean but I dont know why ? :c

$author = htmlentities($_POST['author']);
        if(empty(trim($author))) $author="Unknown";

Gives me this error:

Fatal error: Can't use function return value in write context

Trim the string variable separately. trim() can not return a boolean value as it returns a string value. If you mean that empty() combined with trim() can't return a boolean value, I think that is weird and should work. Try this:

$author = htmlentities($_POST['author']);

$author = trim($author);
if(empty($author)){ 
    $author = "Unknown";
}

From http://php.net/manual/es/function.empty.php

"Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false."

Or save trim($name) into another variable and use empty there

http://php.net/manual/en/function.empty.php

Note:

Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.