PHPオブジェクト向け——cloneキーワード
cloneキーワードはオブジェクトのクローンに使用され、クローンされたオブジェクトとソースオブジェクトは独立しており、そのオブジェクトの変更はソースオブジェクトに影響しません.参照を割り当てる方法で生成されたオブジェクトとソースオブジェクトが指す同じメモリアドレスを指定するため、新しいオブジェクトに対する変更はソースオブジェクトに影響します.例:
実行後の結果:
james`s name is james after clone : james`s name is james james2`s name is james2 after assign: james`s name is james3 james3`s name is james3
<?php
class NbaPlayer{
public $name = '';
}
$james = new NbaPlayer();
$james->name = 'james';
echo 'james`s name is '.$james->name.'<br>';
$james2 = clone $james;//
$james2->name = 'james2';
echo 'after clone :<br>';
echo 'james`s name is '.$james->name.'<br>';
echo 'james2`s name is '.$james2->name.'<br>';
$james3 = $james; //
$james3->name = 'james3';
echo 'after assign:<br>';
echo 'james`s name is '.$james->name.'<br>';
echo 'james3`s name is '.$james3->name.'<br>';
実行後の結果:
james`s name is james after clone : james`s name is james james2`s name is james2 after assign: james`s name is james3 james3`s name is james3