通過參考獲得數值的兩種方法之間是否有實際區別?使用或不使用函數返回參考
方式1種
<?php
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.
?>
方式2
<?php
class foo {
public $value = 42;
public function getValue() {
return $this->value;
}
}
$obj = new foo;
$myValue = &$obj->value;
$obj->value = 2;
echo $myValue;
?>
在兩種情況下被打印。那麼爲什麼需要getValue()函數呢?第一個例子取自PHP Manual。
PHP中的3條引用規則是:規則1)不要使用引用。規則#2)不要使用引用。規則#3)不要使用引用。 – Sherif
@Sherif最好不要使用對象,然後;-) – jeroen
@ jeroen不知道你爲什麼這麼說。對象不是引用。 – Sherif