博客使用thinkphp全新开发的,刚部署到服务器。页面打开报错Can't use function return value in write context。
报错完整代码:Can't use function return value in write context
错误位置
FILE: /alidata/www/newblog/Application/Admin/Controller/BaseController.class.php LINE: 17
当时,我还在纳闷,这是为什么呢?从字面上的意思可以简单的看出,不可以用函数的返回值做判断。
通过提示在代码中找到了:empty(session('usernam'))。
到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来直接检测函数返回的值,
所以只要将代码修改为:if(session('username') == '')
或者
$username = session('username');
empty($username);
所以,以后要注意了这些细节的东西。