stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。stdClass是PHP的一个基类,就是一个空白的类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。凡是用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用。PHP5的对象的独特性,对象在任何地方被调用,都是引用地址型的,所以相对消耗的资源会少一点。在其它页面为它赋值时是直接修改,而不是引用一个拷贝。stdclass可以作为基类使用,其最大特点是,(其派生类)可以自动添加成员变量,而无须在定义时说明。一切php变量都是stdClass的实例。
get_object_vars -- 返回由对象属性组成的关联数组
<?php
echo '<pre>';
$ob = new stdClass();
$ob->id = 2;
$ob->name = 'smile';
$ob->qq = '852769820';
var_export($ob);
echo '<hr/>';
$ar = get_object_vars($ob);
var_export($ar);
echo '<hr/>';
$arr = array('a'=>'aaa','b'=>'bbb','c'=>'ccc');
var_export($arr);
echo '<hr/>';
$obj = (object)$arr;
var_export($obj);
?>