class Test { protected $var = null; function __construct(&$var) { $var['z']=2; $this->var = &$var; $this->var['xx']=2; }}$x=['b'=>2];$d=new Test($x);print_r($x);
変更したのは $this->var ですが、コンストラクターの一時変数 $var を参照しているため
なので、$x は変更されません
$this->var[ 'xx ']=2; 次に、 $var['xx'] = 2; に変更します
変更したのは $this->var ですが、これはコンストラクター
の一時変数 $var を参照しています。そのままです
$ this->var['xx']=2; 次に $var['xx'] = 2; に変更します
何か問題はありますか?正常です、参照アドレスです。
class Test { protected $var = null; function __construct(&$var) { $var['z']=2; $this->var = &$var; $this->var['xx']=2; }} $x=array('b'=>2);$d=new Test($x);print_r($x);
$x = array('b'= >2);
$a =& $x; //$a は $x への参照
$a['a'] = 'a'; //$a への変更は $x に影響します
$b = $a; /$b は $a への参照ではありません
$b['b'] = 'b'; //したがって、$b への変更は $a には影響せず、ましてや $x には渡されません
print_r($x) ;
http://www.cnblogs.com/thinksasa/p/3334492.html
見ればわかります
$this->var = $var; は参照ではありません。 var bemodified?$var
$this->var = &$var; は参照です、$this->varmodified?$var
意味がよくわかりません。 $this->var は外部変数 $x の参照を参照していませんか?構築では (&$var) が使用されているため、この $var が参照になります。そして、この参照をクラス内の var に与えます
意味がよくわかりません。 $this->var は外部変数 $x の参照を参照していませんか?構築では (&$var) が使用されているため、この $var が参照になります。そして、この参照をクラス内の var に与えます
PHP リファレンスと C 言語ポインターはもちろん同じものではありません
しかし、メイン投稿のコードのパフォーマンスは、同等の C コードのパフォーマンスと同じです