“中国要复兴、富强,必须在开源软件领域起到主导作用,为了国家安全和人类发展,责无旁贷,我们须为此而奋斗”——By:云客
stdClass是php中的一个特殊保留类,它并不是所有类的基类:
1:它的构造方法不执行任何操作,也就是说new stdClass($var);中的$var并不能传递到实例中
2:任何标量数据类型通过(object)$var;后被转变为该类的实例
3:没有任何方法,它的所有的魔术方法,父类、接口等在初始化时都被设置成NULL
4:字符串、整型、浮点型被(object)$var;后原值储存在属性scalar里面:
stdClass Object
(
[scalar] => 88.3
)
5:数组通过(object)$var;后并不储存在scalar里面:
$argument = ['@database',65,"type"=>"hill"];
$argument=(object)$argument;
装换后为:
stdClass Object
(
[0] => @database
[1] => 65
[type] => hill
)
此时对关联数组值尚可引用操作,而对索引数组无法操作了,所以数组转对象需要使用特殊方法,遍历循环赋值给stdClass对象
6:stdClass类可以被继承,只是这样做没有什么意义。
交流互动