ホームページ >バックエンド開発 >PHPチュートリアル >クラスファイルのメソッド名の前にアンパサンドを追加することは何を意味しますか?
クラスファイルのメソッド名の前にアンパサンドを追加することは何を意味しますか?
class foo {
public $value = 42;
public function &getValue() {
return $this -> value;
}
}
上記のコードの getValue の前の & 記号は何を意味しますか?それは何をするのですか?
------解決策のアイデア----------------------
$var = getValue()
$var = &getValue();
これら 2 つの違いを勉強してください。
------解決策----------------------
先頭の & は、参照が可能であることを意味します。
E_STRICT レベルのエラー チェックがオンになっていない場合は、オンであるかどうかは関係ありません。それ以外の場合、
厳格な標準: 参照によって変数のみを割り当てる必要があります
$p = new foo;<br />echo $n =& $p->getValue();<br />$n++;<br />echo $p->getValue();<br />