天天看點

Notice: Only variable references should be returned by reference(PHP版本相容性問題)

摘自:http://sushener.spaces.live.com/blog/cns!BB54050A5CFAFCDD!435.entry

PHP5一個很讓人惱火的一點就是BC(向後相容)不是很理想。比如說,很多的PHP4的腳本都可能會出現下面的錯誤提示:Notice: Only variable references should be returned by reference

具體什麼樣的腳本會出現這樣的錯誤呢,我舉個例子:

<?php

function & foo($param)

{

if($param == 1)

return array();

}

return false;

var_dump(foo(1));

?>

解決的方法很簡單,如下:

$result = false;

$result = array();

return $result;

其實,即使不出現上面那樣的Notice錯誤,程式也應該按照下面的編碼方式來寫,因為對于第一段代碼,出現了多次的return,也就是說有 多個出口,而第二段代碼隻在最後出現了一次,程式隻有一個出口,是以當你的程式很複雜的時候,第二段代碼的可讀性要更好一些,當然有時候按照第二種寫法會 出現一些看似不必要的if…else…語句,但是我們還是應該堅持這樣寫。^_^如何聯系我:【萬裡虎】www.bravetiger.cn

【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起)

【部落格】http://www.cnblogs.com/kenshinobiy/