问答详情
源自:2-10 PHP类和对象之对象的高级特性

alone之后的两个对象为什么===返回还是flase

<?php

class Car {

    public $name = 'car';

    

    public function __clone() {

        $obj = new Car();

        $obj->name = $this->name;

    }

}

$a = new Car();

$a->name = 'new car';

$b = clone $a;

if ($a == $b) echo '==';   //true

if ($a === $b) echo '==='; //false


提问者:慕粉2321381991 2017-02-27 23:23

个回答

  • 慕粉1244509708
    2017-02-28 09:30:34

    属性和值都相等,但存储在两块不一样的内存中,就是说指向的内存地址不同,每个对象都有相对应的内存地址