関数またはメンバー メソッド内の静的変数は参照によって外部から操作されます
以下は、引用に関連する 3 つの問題を説明する簡単な例です。
1. パラメータ参照後の関数内の型変換もアドレス操作です
2. 引用後に他の関数にパラメータを渡す場合、アドレス操作を維持するために再度参照文字を追加する必要があります
3. 関数の宣言と呼び出し時に、関数の戻り値の参照を参照演算子で追加する必要があります。
<?php class A { public function & test1(& $a) { static $i = 0; var_dump($i); $a = (array) $a; $a['domain'] = 'http://blog.csdn.net/zhouzme'; $this->test2($a); $i++; var_dump($a); var_dump($i); return $i; } protected function test2(& $a) { $a['name'] = '蜗牛'; } } $obj = new A(); $a = ''; $c = & $obj->test1($a); $c++; var_dump($a); $obj->test1($a); var_dump($a);