在PHP中,所有的對象變量實際上是指向對象的指針(不是嗎?),語言處理這種隱含(右?),但我看到很多的PHP代碼中指定的參數引用像這樣的:使用&獲取PHP中的對象引用是多餘的?
function someMethod(SomeClass& $obj)
{
//...
}
我也看到了這樣的事情:
function add()
{
$object = new SomeClass;
self::$objects[] =& $object;
}
糾正我,如果我錯了,但也不會在這裏任何區別:
self::$objects[] =& new SomeClass
self::$objects[] = new SomeClass
我說得對??????
另一件事我測試:
class SomeClass{}
$obj =& new SomeClass; // is in fact deprecated, doesn't work
$obj = new SomeClass;
$obj2 =& $obj; // works, but should also be deprecated!! No?
爲什麼會'=&'對肛運行時,它應該不會影響你的代碼這個變量是否被棄用? – BoltClock 2010-12-15 04:13:25
@BoltClock:在變量已經是指向對象的指針的情況下。 – fabio 2010-12-15 04:15:10
@ user532722:如果它不是對象,而是'value type'變量呢? – zerkms 2010-12-15 04:16:38