PHP对象传递
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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对象传递的主要内容,如果未能解决你的问题,请参考以下文章
将 Google API 客户端对象从活动传递到滑动选项卡片段
将变量从 WordPress PHP 传递到 JavaScript