`
rorely
  • 浏览: 119745 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

php 拷贝对象

    博客分类:
  • PHP
阅读更多
clone方法的使用,浅拷贝对象。示例如下:

<?php
    class Foo{
        private $x;
        private $y;
        public function setX($x){
            $this->x=$x;
        }
        public function setY($y){
            $this->y=$y;
        }
        public function getX(){
            return $this->x;
        }
        public function getY(){
            return $this->y;
        }
    }

    $foo1=new Foo;
    $foo1->setX(3);
    $foo1->setY(4);

    $foo2=clone $foo1;
    $foo2->setX(4);

    if($foo1->getX()!=$foo2->getX()) echo "they are not equal";
   
    function displayObj(Foo $foo){
        echo "<br>对象的值为:<br>";
        echo $foo->getX()."<br>";
        echo $foo->getY()."<br>";

    }
    displayObj($foo1);
    displayObj($foo2);
?>

分享到:
评论

相关推荐

    PHP 面向对象知识 值得一看

    面向对象编程(OOP)是PHP中的一...总的来说,PHP的面向对象特性提供了丰富的工具来处理复杂的数据和逻辑,如序列化、拷贝和克隆,以及类和对象的使用。理解并熟练掌握这些概念,将有助于编写出高效、可维护的PHP代码。

    PHP对象相关知识总结

    实际上,当一个对象被赋值给另一个变量时,这两个变量都会保存同一个对象标识符的拷贝。这意味着,尽管看起来像两个独立的对象,但它们都指向内存中的同一位置。例如: ```php $a = new A; $b = $a; ``` 在这个例子...

    PHP面向对象各个功能步骤详解OOP思想

    克隆对象是创建一个新对象的拷贝,这个新对象具有与原对象相同的属性值,但它们是不同的对象。 ```php class Person { private $name; public function __construct($name) { $this-&gt;name = $name; } public...

    php中拷贝构造函数、赋值运算符重载

    在PHP中,虽然没有明确的拷贝构造函数和赋值运算符重载的概念,与C++或Java等其他面向对象的编程语言不同,但可以通过其他方式实现类似的效果。PHP的对象复制通常分为浅复制和深复制两种情况。 浅复制指的是当对象...

    php5面向对象

    但是,如果类中包含引用类型的属性,如数组或对象,克隆后的对象将共享这些引用,除非使用深拷贝或在`__clone()`魔术方法中显式复制这些属性。 例如: ```php class Product { public $name; public $options; ...

    PHP 面向对象技术(全面讲解).txt

    有人说PHP 不是一个真正的面向对象的语言,这是事实。PHP 是一个混合型语言,你可以使 用OOP,也可以使用传统的过程化编程。然而,对于大型项目,你可能需要在PHP 中使用纯的OOP 去声明类,而且在你的项目里只用对象...

    php中对象引用和复制实例分析

    浅复制会创建一个新的对象,但是对象内部的属性值仍然是原来值的拷贝,如果属性值是引用类型(比如对象、数组、资源等),则这些属性仍然指向原来的对象。也就是说,浅复制仅仅复制了对象的属性值,而不复制对象属性...

    PHP面向对象程序设计方法实例详解

    克隆后的对象是原始对象的浅拷贝。如果需要深度克隆,可以使用`__clone`魔术方法来定义对象被克隆后的行为。 参数重载允许方法根据传入参数的不同,执行不同的逻辑。PHP中的参数重载通常是通过魔术方法`__call`实现...

    phpf2f(php4 to php5)用于将php4代码移植到php5语法中

    9. **对象复制**:在PHP5中,`clone`关键字用于创建对象的副本,而在PHP4中,对象复制是隐式的浅拷贝。 10. **引用传递**:PHP5中,函数参数默认为值传递,如果要实现引用传递,需要在参数前加`&`。 `phpf2f`工具...

    PHP5范例代码查询辞典

    - 复制对象:通常通过克隆(`clone`关键字)或序列化/反序列化实现对象的深拷贝或浅拷贝。 - 撤销对象:当对象不再使用时,可以显式地使用`unset`函数来销毁对象,释放内存。 #### 六、类图与对象信息的获取 - **...

    php实现对象克隆的方法

    PHP实现对象克隆的知识点主要涉及对象的深拷贝与浅拷贝的概念、PHP对象克隆的语法以及__clone魔术方法的使用。以下为详细知识点: 1. 对象克隆基本概念: 对象克隆,是面向对象编程中的一项技术,用于创建一个与...

    php扩展学习PDF

    5. **对象模型**:深入理解PHP的对象模型,包括类、对象、继承、接口、 Trait等,以及如何在C语言中实现这些特性。 6. **错误和异常处理**:学习如何在扩展中处理错误和异常,提供良好的错误报告和调试支持。 7. *...

    php对象在内存中的存在形式分析

    在PHP编程语言中,对象是面向对象编程的基本构建块,它们在内存中有着特定的存在形式。理解这种存在形式对于优化代码、避免潜在的错误以及深入理解PHP的工作原理至关重要。以下是对PHP对象在内存中存在形式的详细...

    php连接oracle数据库的方法(测试成功)

    例如,可以参考本站专题,包括《PHP基于pdo操作数据库技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》以及...

    (全)传智播客PHP就业班视频完整课程

    9-24 3.php文件编程②-如何写文件 拷贝文件 创建和删除(文件夹、文件) 9-24 4.php文件编程③-文件的上传和下载 文件上传细节讨论 9-24 5.php文件编程④-mini文件共享网实现分析 9-24 6.PHP绘图技术 9-26 1 课程回顾 ...

    深入php面向对象、模式与实践

    解决这个问题的方法是在原始对象中定义`__clone()`魔术方法,该方法会在克隆对象之前自动调用,允许我们在此处对对象属性进行深拷贝,确保副本与原始对象相互独立。 2. **引用传递**: 使用`&`符号可以实现方法...

    PHP FCKeditor_2.6.6 瘦身精简版 带重命名上传+实例使用说明

    将Fckeditor 里的保留文件拷贝到网站根目录文件夹里,即/ictech/下 /fcktemplates.xml /fckstyles.xml /fckeditor_php5.php /fckeditor_php4.php /fckeditor.php /fckeditor.js /fckconfig.js /editor/ fckeditor....

    PHP变量引用(&amp;)、函数引用和对象引用_.docx

    ### PHP中的变量引用、函数引用和对象引用解析 #### 变量引用 在PHP中,变量引用是指两个或多个变量共享同一内存空间的情况。当一个变量通过引用赋值给另一个变量时,它们实际上指向相同的内存位置,而不是进行值的...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-24 3.php文件编程②-如何写文件 拷贝文件 创建和删除(文件夹、文件) 9-24 4.php文件编程③-文件的上传和下载 文件上传细节讨论 9-24 5.php文件编程④-mini文件共享网实现分析 9-24 6.PHP绘图技术 9-26 1 课程回顾 ...

Global site tag (gtag.js) - Google Analytics