温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP对象传递

发布时间:2020-07-17 13:55:42 来源:网络 阅读:1908 作者:hgditren 栏目:web开发


<?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;




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI