2013-04-11 55 views
1

這不是一個複製品,仔細閱讀更多問題
這是關於當參數標記爲引用時傳遞值的可能性。在PHP中通過引用傳遞函數的返回值作爲參數?


在PHP中,您可以將函數的返回值作爲引用參數傳遞給另一個函數。

例如:

function dummy(){} 

function myFunc(&$var){ // argument by reference 
    echo $var ; 
} 

myFunc('some value') ; // this line gives an error obviously, not a reference 
myFunc(dummy('some value')) ; // but this one does not, why? 

爲什麼能夠做到這一點?
它的用途是什麼?

+2

不,它絕對不是重複的。問題不是''符號是什麼,這是一個更深的問題。 – 2013-04-11 22:09:07

回答

2

你的第二個例子給出了一個嚴格的標準警告:

Strict Standards: Only variables should be passed by reference in X on line Y 

我相信這是爲了向下兼容,因爲這以前生成的任何警告:

$last = end(explode(',', $csv_string)); 

所以,爲了不打破該代碼,您的示例發出警告,但繼續。即使PHP manual指出:

沒有其他表達式應該通過引用傳遞,因爲結果是未定義的。

相關問題