PHP stdClass内置类简介和使用方法
一、PHP stdClass简介
stdClass是PHP的一个内置类,这个类本身没有属性、方法,它不支持魔术方法、不支持接口继承。具有动态属性的通用空类。此类的对象可以使用new运算符实例化,也可以通过类型转换为对象创建。该类可以被其他自定义类继承。
类摘要
class stdClass {
}
二、PHP stdClass类使用示例
通过数组类型转换创建stdClass对象
$arr = [
'name' => '测试',
'age' => 20
];
$stdObj = (object)$arr;
var_dump($stdObj);
var_dump($stdObj->name);
输出结果:
object(stdClass)#106 (2) {
["name"]=>
string(6) "测试"
["age"]=>
int(20)
}
string(6) "测试"
通过json_decode创建stdClass对象
$jsonStr = '{"name":"测试", "age": 20}';
$stdObj = json_decode($jsonStr);
var_dump($stdObj);
var_dump($stdObj->name);
输出结果:
object(stdClass)#106 (2) {
["name"]=>
string(6) "测试"
["age"]=>
int(20)
}
string(6) "测试"
通过new关键字创建stdClass对象
$stdObj = new \stdClass();
$stdObj->name = '测试';
$stdObj->age = 20;
var_dump($stdObj);
var_dump($stdObj->name);
输出结果:
object(stdClass)#106 (2) {
["name"]=>
string(6) "测试"
["age"]=>
int(20)
}
string(6) "测试"
通过字符串或整数类型转换创建stdClass对象
$str = '测试';
$stdObj = (object)$str;
var_dump($stdObj);
var_dump($stdObj->scalar);
输出结果
object(stdClass)#106 (1) {
["scalar"]=>
string(6) "测试"
}
string(6) "测试"