ホームページ >バックエンド開発 >PHPチュートリアル >PHP の初心者なので、マニュアルのサンプルコードについて質問があります。
いわゆる値の転送は、オブジェクトの値をターゲット オブジェクトに渡すことだけがコピーと同等であることを意味し、システムはターゲット オブジェクトに対して同一のメモリ空間を再度開きます。
いわゆる参照とは、メモリ上のオブジェクトのアドレスを対象オブジェクトに渡すことを意味し、対象オブジェクトと元のオブジェクトを同じメモリ記憶空間に対応させることと等価です。このとき、対象オブジェクトを変更するとメモリ内のデータも変更されます。
値の転送と参照の違い
いわゆる値の転送とは、オブジェクトの値をターゲット オブジェクトに渡すことだけが、システムをコピーすることと同じであることを意味します。同一のメモリ空間。
いわゆる参照とは、メモリ上のオブジェクトのアドレスを対象オブジェクトに渡すことを意味し、対象オブジェクトと元のオブジェクトを同じメモリ記憶空間に対応させることと等価です。このとき、対象オブジェクトを変更するとメモリ内のデータも変更されます。
値の転送と参照の違い
私の理解:
class SimpleClass{ var $test='test';}//对象实例 分配内存地址为 1$instance = new SimpleClass();var_dump($instance);//复制对象实例的值 存入内存地址 2 存入的是SimpleClass类返回的同一个标识符的拷贝//$instance = $assigned = new时返回的一个标识符id$assigned = $instance;var_dump($assigned);//引用传递 $reference 指向内存地址为 1$reference = &$instance;var_dump($reference);//改变了内存地址 1 $instance->test= 'modify';//因为是地址引用 所以$reference 也为null$instance = null;
私の理解:
class SimpleClass{ var $test='test';}//对象实例 分配内存地址为 1$instance = new SimpleClass();var_dump($instance);//复制对象实例的值 存入内存地址 2 存入的是SimpleClass类返回的同一个标识符的拷贝//$instance = $assigned = new时返回的一个标识符id$assigned = $instance;var_dump($assigned);//引用传递 $reference 指向内存地址为 1$reference = &$instance;var_dump($reference);//改变了内存地址 1 $instance->test= 'modify';//因为是地址引用 所以$reference 也为null$instance = null;
コードが古すぎるため、指示が適切に設定されていません
$instance はオブジェクトです。 php5 以降、オブジェクトは参照によって渡される
ため、$assigned = $instance、
$assigned と $instance は同じオブジェクトを指します。一方のプロパティが変更されると、他方もそれに応じて変更されます
コードが古すぎるため、指示が適切に配置されていません
$instance はオブジェクトです。 php5 以降、オブジェクトは参照によって渡される
ため、$assigned = $instance、
$assigned と $instance は同じオブジェクトを指します。一方のプロパティが変更されると、他方もそれに応じて変更されます