错误代码如下:
//empty()的参数值是函数
if (empty(trim($name))) {
//[TODO]
}
//empty()的参数值是表达式
if (empty($var = trim($name))) {
//[TODO]
}
报错信息如下:
Fatal error: Can't use function return value in write context in ...
引用PHP手册:
Note:
在PHP 5.5之前,empty() 仅支持变量;任何其他东西将会导致一个解析错误。
换言之,下列代码不会生效: empty(trim($name))。
作为替代,应该使用trim($name) == false.
PS:
在PHP 5.5之后,运行时不报错,但若提交至SVN仍会报错(GIT未试验)
正确代码如下:
//变量赋值法
$var = trim($name);
if (empty($var)) {
//[TODO]
}
//作为替代法
if (trim($name) == false) {
//[TODO]
}