如何解决什么是 #在对象的var_dump中的objectsomeClass旁边?我有一个推断我对吗?
这个数字是Z_OBJ_HANDLE_PP(struc)
哪里struc
是zval
导致Z_OBJVAL(zval).handle
导致(zval).value.obj
。
另请参见http://php.net/manual/zh/internals2.variables.intro.php
简而言之,我想说的是以十进制形式(ref)编写的对象标识符:
PHP_printf("%sobject(%s)#%d (%d) {\n", COMMON, class_name, Z_OBJ_HANDLE_PP(struc), myht ? zend_hash_num_elements(myht) : 0);
而不是曾经创建过的对象的数量。
解决方法
这是我用来在下面得出推断的代码及其输出:
class a {
public $var1;
public $var2;
}
$obj0 = new a;
var_dump($obj0);
class b {
public $var1;
public $var2;
public $var3;
}
$obj1 = new b;
var_dump($obj1);
$obj2 = new stdClass;
var_dump($obj2);
$obj3 = new stdClass;
var_dump($obj3);
$obj4 = new stdClass;
var_dump($obj4);
$obj5 = new stdClass;
var_dump($obj5);
var_dump(new stdClass);
$obj6 = new stdClass;
var_dump($obj6);
输出:
object(a)#1 (2) {
["var1"]=> NULL
["var2"]=> NULL
}
object(b)#2 (3) {
["var1"]=> NULL
["var2"]=> NULL
["var3"]=> NULL
}
object(stdClass)#3 (0) {
}
object(stdClass)#4 (0) {
}
object(stdClass)#5 (0) {
}
object(stdClass)#6 (0) {
}
object(stdClass)#7 (0) {
}
object(stdClass)#7 (0) {
}
在#<some-number>
该线旁object(someClass)
的var_dump
对象实际上是#<count>
。哪里,
count是 对象的对象 数/ zval的对象 数,与迄今为止创建的属于哪个类 无关
。当zval的引用计数达到零(即垃圾回收)时,对于创建的每个对象,它都会不断增加,并减少1。
我对吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。