我得到了一個帶有空白或微調功能的新問題。我想修剪不能返回一個布爾值,但我不知道爲什麼? :C寫入時不能使用函數返回值
$author = htmlentities($_POST['author']);
if(empty(trim($author))) $author="Unknown";
給了我這個錯誤:
致命錯誤:在寫情況下不能使用函數的返回值
我得到了一個帶有空白或微調功能的新問題。我想修剪不能返回一個布爾值,但我不知道爲什麼? :C寫入時不能使用函數返回值
$author = htmlentities($_POST['author']);
if(empty(trim($author))) $author="Unknown";
給了我這個錯誤:
致命錯誤:在寫情況下不能使用函數的返回值
分別修剪字符串變量。 trim()不能返回一個布爾值,因爲它返回一個字符串值。如果你的意思是empty()和trim()不能返回一個布爾值,我認爲這很奇怪,應該工作。 試試這個:
$author = htmlentities($_POST['author']);
$author = trim($author);
if(empty($author)){
$author = "Unknown";
}
工作正常,謝謝 – xqz
從http://php.net/manual/es/function.empty.php
「此前PHP 5.5,空()只有支持變量;否則會導致解析錯誤,換句話說,以下將不起作用:empty(trim($ name))。而是使用trim($ name)== false。「
或保存trim($name)
到另一個變量,使用empty
有
瞭解,謝謝 – xqz
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.
改爲使用三元運算符。 –