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);就不会出错了

 v比购--v帮购

posted on 2013-04-08 11:57  魅影_魍魉  阅读(284)  评论(0编辑  收藏  举报