2016-08-11 132 views
0

指針和引用之間是否有區別? 什麼時候應該使用參考?PHP參考和指針

實際上這個語法的作用是什麼?

$a = &$b 
+0

即問題是關於通過引用傳遞給函數。這裏解釋變量,指針和引用之間的區別。 –

回答

1

請勿使用參考文獻!他們可能會導致意想不到的行爲。

PHP.net經常提到的PHP 5 OOP的一個關鍵點是「對象通過引用默認傳遞」。這並不完全正確。

有指針和引用,你可以看到它下面的例子。

  • $ A =新stdClass的($ A現在是一個指針至#168)
  • $ B = $ A($ B現在是一個指針,但它仍然指向#168)
  • $ C = & $一個($ C現在是一個參考爲指針$ A)
  • 你不能區分$ b。從$ C
  • $ A =零,這只是不是指針了,只是空
  • #168保持,因爲有指向它留下
  • $ B仍然是一個指針#168
  • $ C現在是空

這種行爲很危險,因爲它會改變你不接觸的變量。

$b === $c // returns true 
$youCantSayThisVariableIsRelated = null 
$b === $c // returns false! 

enter image description here