今天在利用empty函數是出現Fatal error: Can’t use function return value in write context錯誤提示,覺得很怪, 這個函數我可是使用了N久了今天怎麼回事,下面大家來看看我的分析過程。
錯誤提示
Fatal error: Can’t use function return value in write context in empty.php on line 5
我代碼是這樣寫的
代碼如下 復制代碼$str=” “;
if(empty(trim($str))){
echo “empty”;
}
然後出現了
Fatal error: Can’t use function return value in write context in empty.php on line 5
看不出原因就上了官網查看了一下手冊。
bool empty ( mixed $var )
如果 var 是非空或非零的值,則 empty() 返回 FALSE。換句話說,”"、0、”0″、NULL、FALSE、array()、var $var; 以及沒有任何屬性的對象都將被認為是空的,如果 var 為空,則返回 TRUE。 除了當變量沒有置值時不產生警告之外,empty() 是 (boolean) var 的反義詞。
可見empty只能用來檢查變量值,不能用來檢查函數的返回值。正確用法應該是
代碼如下 復制代碼$var =trim(” “);
// 結果為 true,因為 $var 為空字符串
if (empty($var)) {
echo ‘empty’;
}
empty(trim($str)這種用法是錯誤的。