PHP入门,clone和__clone

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP入门,clone和__clone相关的知识,希望对你有一定的参考价值。

  前 言

 这篇文章主要介绍了php编程中的__clone()方法使用详解,__clone()方法相当于一个浅拷贝,是PHP入门学习中的基础知识,需要的朋友可以参考下。

 

1对象是引用数据类型,当使用=将一个对象赋值给另一个对象时,赋的是对象的地址,两个变量指向同一地址,一个改变另一个也跟着变

 

__construct() 函数 :创建一个新的 SimpleXMLElement 对象。如果成功,则该函数返回一个对象。如果失败,则返回 false。

原$zhangsan:

class Person{
    public $name;
    public $age;
    function __construct($name,$age){
        $this->name=$name;
        $this->age=$age;
    }
}
$zhangsan =new Person("张三",14);
var_dump($zhangsan);

技术分享

设一个lisi

$lisi=$zhangsan;

把lisi的age设为28

$lisi->age=28;

同时打印张三和李四,会显示:

技术分享

 

 

2clone:  如果想将一个对象完全克隆出一个互不干扰的对象,需要使用clone关键字;

 把李四clone张三再把age设为28

$lisi=clone $zhangsan;
$lisi->age=28;

这个时候再打印张三和李四

技术分享

 

 

3__clone();

 


①当使用clone关键字克隆对象时,将自动调用魔术方法;
②__clone()函数,相当于克隆对象时的构造函数,用于给新克隆对象赋初值;
③在clone()函数中,$this指向的是新科隆出的对象。

function __clone(){
        echo "执行clone指令<br>";
        $this->name="李四";
    }

技术分享

 

 

 

@唯芸熙

 







以上是关于PHP入门,clone和__clone的主要内容,如果未能解决你的问题,请参考以下文章

php 克隆 __clone

php中对象

PHP单例模式使用clone

PHP对象的复制(拷贝)与__clone()方法

php类知识---最疯狂的魔术方法serialize,_sleep,__wakeup,unserialize,__autoload,__clone

李炎恢《PHP第二季视频教程》之总结