function echo_error($str){
return $str;
}
function get_str($str){
return $str;
}
$str = "hello word!";
if(empty(get_str($str))){
echo echo_error('错误');
}else{
echo $str;
}
上面程序运行的时候就会出现 Fatal error: Can't use function return value in write context in E:\appserv\www\http.php on line 16
经过查询发现 原来是empty()的问题:empty() 只检测变量,检测任何非变量的东西都将导致解析错误!
在例子中 使用了 empty(get_str($str)) 相当于检测了一个非变量 所以导致解析错误。
只需要将 empty(get_str($str)); 改为 $str = get_str($str); empty($str);就不会出错了