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类知识---最疯狂的魔术方法serialize,_sleep,__wakeup,unserialize,__autoload,__clone