2009-12-15 99 views
1

考慮下面的代碼:PHP:如何知道參數是否通過引用傳遞?

class myclass 
{ 
    function __construct(&$arg1, &$arg2) 
    { 
    echo $arg1; 
    echo $arg2; 
    } 
} 

我怎麼知道上面構造函數的參數引用通過代碼通過呢?

編輯:

我找了他們的檢測是通過引用傳遞編程方式是這樣的:

is_passed_by_ref($arg1, etc); 

回答

4

由於參數被宣佈爲「按引用傳遞」 (因爲&的在你方法的聲明中),他們只是......而已。

沒有「是通過引用傳遞的參數嗎?」:當您聲明您的方法通過引用接收其參數時,它們通過引用傳遞。

+0

不,我知道他們通過參考通過查看'&',看到我在編輯上面的問題,知道我在找什麼,謝謝 – Sarfraz 2009-12-15 07:18:21

+0

對不起,但我不太明白你的意思:如果您的參數被聲明爲通過引用接收(使用參數列表中的&),則它們通過引用傳遞;不多,不少? – 2009-12-15 07:37:29

+0

我的意思是如何檢測某個函數的argumenets是否通過引用傳遞,而不是實際查看函數。讓我們假設這個函數來自我的框架的任何用戶,現在用戶已經創建了一個類/函數,我需要以編程方式知道他的函數是否使用argumenets通過引用傳遞。我希望我澄清這一次。 – Sarfraz 2009-12-15 08:13:18