为了账号安全,请及时绑定邮箱和手机立即绑定

object(Car)#3 (1)里的3是代表什么?

object(Car)#3 (1)里的3是代表什么?

正在回答

5 回答

应该是object类Car实例化对象的次数;

比如var_dump当中,#后是2,它输出的是$b,$b是第二个实例化对象

所以到了$c,#后面变成了3

2 回复 有任何疑惑可以回复我~

楼顶回答的不对,不是被实例化的次数。而是 对象的id. 就像数据库字段id,一样,每个对象都有自己的id.


<?php


class Car1 {
    public $name = 'car1 name';
    
   }
class Car {
    public $name = 'car';
    
    public function __clone() {
        $obj = new Car();
        $obj->name = $this->name;
    }
}

$a = new Car();
$a->name = 'new car';
var_dump($a);

$b = clone $a;
var_dump($b);
$c=new car1();
var_dump($c);

结果:

object(Car)#1 (1) {
 ["name"]=>
 string(7) "new car"
}
object(Car)#2 (1) {
 ["name"]=>
 string(7) "new car"
}
object(Car1)#3 (1) {
 ["name"]=>
 string(9) "car1 name"
}


结果 car1  才被实例化了1次,他的 #后面变成了3...

2 回复 有任何疑惑可以回复我~

你可以添加$d = clone ($c);

                var_dump($d);

可以看到,#号输出分别为2,4,3;印证了猜想

0 回复 有任何疑惑可以回复我~
#1

Shawn_H 提问者

恩恩啊,验证了一下,谢谢啦
2016-07-04 回复 有任何疑惑可以回复我~

不知道

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

object(Car)#3 (1)里的3是代表什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信