PHP對象傳遞
阿新 • • 發佈:2017-12-17
php 傳遞 對象
<?php //對象的值傳遞 class Person { //對象屬性 成員變量 public $name; protected $age; private $work; //對象行為 成員方法 } //程序允許在內存的棧區 $zhangsan = new Person(); var_dump($zhangsan); //object(Person) #1對象標識符 $lisi = $zhangsan; //傳遞的是對象標識符 var_dump($lisi); //$object(Person) #1 對象標識符 //每個包含對象的變量,都持有對象的引用(reference),而不是對整個對象的拷貝
<?php //對象的值傳遞 class Person { public $name; } $zhangsan = new Person(); $zhangsan->name = 'Zhang San'; $lisi = $zhangsan;//將zhangsan的對象標識符傳遞給lisi,即lisi對zhangsan對象的引用。 $lisi = 'abc'; // 'abc'不是地址標識符,因此lisi與zhangsan斷開聯系 echo $zhangsan->name . PHP_EOL;
<?php //引用傳遞對象 class Person { public $name; } $zhangsan = new Person(); $zhangsan->name = 'Zhang San'; $lisi = &$zhangsan;//直接指向zhangsan的內存。 $lisi = 'abc'; // 'abc'不是地址標識符,因此lisi與zhangsan斷開聯系 echo $zhangsan->name . PHP_EOL;//PHP Notice: Trying to get property of non-object echo $zhangsan . PHP_EOL;
PHP對象傳遞