指针会存放地址值
引用仅仅是一个标识
<?php
$b=3; // $b 就是 $GLOBALS['b'] 的引用,相当于是 $b =& $GLOBALS['b']
class foo {
public $value = 42;
public function &getValue() {
return $this->value;
}
}
$obj = new foo;
$myValue = &$obj->getValue(); // $myValue is a reference to $obj->value, which is 42.
$obj->value = 2;
echo $myValue; // prints the new value of $obj->value, i.e. 2.
?>
在上例中,为什么要再 getValue方法中使用&, 在$obj->getValue()中又使用&呢?
可能因为如果不在getValue()方法中使用&, 该方法不会返回一个变量的标志仅仅只会返回内容。 而$obj->getValue()使用&就代表$myValue是另一个标志