PHP開發時,當你使用empty檢查一個函數返回的結果時會報錯:Fatal error: Can't use function return value in write context
例如下面的代碼:
復制代碼 代碼如下:
<?php
echo empty(strlen('test'));
轉到PHP手冊裡面查看,在empty函數描述的地方有以下文字:
復制代碼 代碼如下:Note : empty() only checks variables as anything else will result in a parse error. In other words, the following will not work: empty(trim($name)).
得出結論:empty()只檢測變量,檢測任何非變量的東西都將導致解析錯誤!
因此,我們不能拿empty來直接檢測函數返回的值,上面例子的解決方法如下:
復制代碼 代碼如下:
<?php
$length = strlen('test');
echo empty($length);