>백엔드 개발 >PHP 튜토리얼 >递归引用有关问题

递归引用有关问题

WBOY
WBOY원래의
2016-06-13 12:00:50882검색

递归引用问题

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.