2015-08-08 36 views
0

我得到了一個帶有空白或微調功能的新問題。我想修剪不能返回一個布爾值,但我不知道爲什麼? :C寫入時不能使用函數返回值

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

給了我這個錯誤:

致命錯誤:在寫情況下不能使用函數的返回值

+0

改爲使用三元運算符。 –

回答

0

分別修剪字符串變量。 trim()不能返回一個布爾值,因爲它返回一個字符串值。如果你的意思是empty()和trim()不能返回一個布爾值,我認爲這很奇怪,應該工作。 試試這個:

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

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

工作正常,謝謝 – xqz

1

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

「此前PHP 5.5,空()只有支持變量;否則會導致解析錯誤,換句話說,以下將不起作用:empty(trim($ name))。而是使用trim($ name)== false。

或保存trim($name)到另一個變量,使用empty

+0

瞭解,謝謝 – xqz