php中的对象赋值

Posted Duotian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中的对象赋值相关的知识,希望对你有一定的参考价值。

如果现在问你一个问题:

<?php
class A{
    public $a = 1;
}
$a = new A();
$b = $a;

$b->a = 3;
print_r($a->a);

上面这段代码将打印出什么?你的回答是什么?

在以前,我的回答会是$a和$b是两个不同的对象,所以输出的是1。

如果你的php版本是4,那么,这个回答是没有问题的。php4版本及以前对象间的赋值是按值传递的,所以会是两个会不想干的对象,而php4之后的版本却是按值传递的,所以,这里输出应该是3.

以上是关于php中的对象赋值的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——JS中的面向对象编程

对象赋值在PHP中到底是不是引用?

VSCode自定义代码片段9——JS中的面向对象编程

对象赋值在PHP中到底是不是引用?

PHP 代码片段

ES6解构赋值