当前位置: 代码迷 >> PHP >> 递归引用有关问题
  详细解决方案

递归引用有关问题

热度:219   发布时间:2016-04-28 18:59:48.0
递归引用问题

function array_format($data){
    foreach($data as $k => &$v){
        if(is_array($v)) {
         array_format(&$v); //这个是关键。在5.3版本可以使用.在5.4版本不能用。这个是什么问题?
        }else{
        if(is_null($v)) $v = "";
        $v = htmlspecialchars_decode($v);
        }
    }
    return $data;
}

------解决方案--------------------
规则问题
Fatal error: Call-time pass-by-reference has been removed 
致命错误:传递引用的做法已被废止
要这么写
function array_format(&$data){
    foreach($data as $k => &$v){
        if(is_array($v)) {
            array_format($v);
        }else{
            if(is_null($v)) $v = "";
            $v = htmlspecialchars_decode($v);
        }
    }
    return $data;
}
  相关解决方案