有的时候我们需要在一个项目里面,使用两个或多个一样的对象,如果你使用“new” 关键字重新创建对象的话,再赋值上相同的属性,这样做比较烦琐而且也容易出错,所以要 根据一个对象完全克隆出一个一模一样的对象,是非常有必要的,而且克隆以后,两个对象 互不干扰。 本文主要和大家分享php对象克隆的实现方法,希望能帮助到大家。
<?php
//定义类staff,其中包括属性id和name
class staff
{
private $id;
private $name;
function setID($id)
{
$this->id = $id;
}
function getID()
{
return $this->id;
}
function setName($name)
{
$this->name = $name;
}
function getName()
{
return $this->name;
}
}
//创建一个新的staff对象并初始化
$ee1 = new staff();
$ee1->setID("145");
$ee1->setName("Simon");
//克隆一个新的对象
$ee2 = clone $ee1;
//重新设置新对象的ID值
$ee2->setID("146");
//输出ee1和ee2
echo "ee1 ID: ".$ee1->getID()."<br data-filtered="filtered">";
echo "ee1 Name: ".$ee1->getName()."<br data-filtered="filtered">";
echo "ee2 ID: ".$ee2->getID()."<br data-filtered="filtered">";
echo "ee2 Name: ".$ee2->getName()."<br data-filtered="filtered">";
?> |
|
<?php
//定义类staff,其中包括属性id和name
class staff
{
private $id;
private $name;
function setID($id)
{
$this->id = $id;
}
function getID()
{
return $this->id;
}
function setName($name)
{
$this->name = $name;
}
function getName()
{
return $this->name;
}
//这里是__clone函数
function __clone()
{
$this->id = $this->id + 1;
}
}
//创建一个新的staff对象并初始化
$ee1 = new staff();
$ee1->setID("145");
$ee1->setName("Simon");
//克隆一个新的对象
$ee2 = clone $ee1;
//重新设置新对象的ID值
//$ee2->setID("146");
//输出ee1和ee2
echo "ee1 ID: ".$ee1->getID()."<br>";
echo "ee1 Name: ".$ee1->getName()."<br>";
echo "ee2 ID: ".$ee2->getID()."<br>";
echo "ee2 Name: ".$ee2->getName()."<br>";
?>
|
相关推荐:
php克隆对象是什么?它是如何实现的?
php克隆对象clone的使用方法
php实现对象克隆的方法,php对象克隆_PHP教程