首页 > 后端开发 > php教程 > php克隆的实现方法介绍(代码示例)

php克隆的实现方法介绍(代码示例)

不言
发布: 2023-04-05 10:46:02
转载
2409 人浏览过

本篇文章给大家带来的内容是关于php克隆的实现方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

前一段时间,看了Java中的对象克隆。感觉自己对于php中的对象克隆也不是很清楚,所以就做了一个小测试。代码如下

<?php

class A{
    public $value = 1;
}

class B{
    public $value = 1;
    public $a = null;

    public function __Construct(){
        $this->a = new A();
    }
}

$b = new B();
$d = 1;
$e = $d;
$e++;
echo "写时复制\n";
echo $d."\n";
echo $e."\n";

echo "------------------------------------\n";

$c = $b;
$c->a->value++;
$c->value++;

echo "对象中的对象变量\n";
echo $b->a->value."\n";
echo $c->a->value."\n";

echo "对象变量中的值变量\n";
echo $b->value."\n";
echo $c->value."\n";

echo "--------------------------------------\n";
$f = clone $b;
$f->value++;
$f->a->value++;

echo "对象变量中的值变量\n";
echo $b->value."\n";
echo $f->value."\n";

echo "对象中的对象变量\n";
echo $b->a->value."\n";
echo $f->a->value."\n";


?>
登录后复制

运行的结果如图

3886246098-5c6c27ca4c961_articlex.png

和Java还是一致的,结论如下

**对于值变量而言,简单的赋值是拷贝。
对于对象变量而言,简单的赋值是引用。
对于对象变量而言,利用clone进行赋值,对象变量中的值变量是拷贝,对象变量中的对象变量还是引用。**

以上是php克隆的实现方法介绍(代码示例)的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
angular.js - angularjs与后端交互
来自于 1970-01-01 08:00:00
0
0
0
java可以做为web的后端吗?
来自于 1970-01-01 08:00:00
0
0
0
javascript - 关于前后端协作
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板