码迷,mamicode.com
首页 > Web开发 > 详细

PHP入门,clone和__clone

时间:2017-10-27 11:35:05      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:返回   lin   add   方法   original   play   block   new   div   

  前 言

 这篇文章主要介绍了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

标签:返回   lin   add   方法   original   play   block   new   div   

原文地址:http://www.cnblogs.com/ljr001/p/7742017.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!