2011-09-19 47 views
0

好的另一個引用問題,不完全知道如何給谷歌這一次,所以我會在這裏問它:在PHP中引用

$TempArray = array_merge( array("FILLER"), 
          &$this->Variable1, 
          &$this->Variable2, 
          &$this->Variable3); 

(variable1-3是類)

將編輯存儲類在該數組中,編輯引用的類?或者這是不可能的。

回答

1

這是不可能在這種情況下。

參考&應該且只能函數聲明中指定,而不是當你調用該函數。

+0

啊K,我會記住這一點從現在開始。 – Phoenix

0

array_merge根據輸入值創建一個新數組,因此no,修改$tempArray將不會修改用於創建它的任何數組。

如果你試圖調用方法時要使用&你也應該得到一個警告。

在另一方面,在此情況下:

$tmpArr = array(); 
$b = 0; 
$tmpArr[0] = &$b; 
$arr2 = array_merge($tmpArr, array('a','b','c')); 
$arr2[ 0 ]++; 
echo $b; // 1 

因爲要存儲內部和陣列的參考,當引用添加到array_merge的結果,這仍然是一個參考,所以它仍然作品。

+0

是的,我有一種感覺是這種情況,thnxs - 將不得不爲此做了變通即可。 – Phoenix