首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

PHP5中的stdClass

作者:  时间: 2011-06-13

PHP5中新增stdClass

官方手册参考:http://www.php.net/manual/en/language.oop5.basic.php#92123

stdClass类是PHP的一个内部保留类,初始时没有成员变量也没成员方法,所有的魔术方法都被设置为NULL,可以使用其传递变量参数,但是没有可以调用的方法。stdClass类可以被继承,只是这样做没有什么意义。

该类是PHP的保留类,并不是所有类的基类。

<?php
class foo {}
$bar = new foo();
echo $bar instanceof stdClass?'yes':'no';
//output:no

另外一个例子:

<?php
// CTest does not derive from stdClass
class CTest {
    public $property1;
}
$t = new CTest;
var_dump($t instanceof stdClass);            // false
var_dump(is_subclass_of($t, 'stdClass'));    // false
echo get_class($t) . "\n";                   // 'CTest'
echo get_parent_class($t) . "\n";            // false (no parent)
?>

任何用(object)强制转换都会得到一个stdClass的实例。

参考:

http://www.phppan.com/2011/05/php-stdclass/