PHP stdClass内置类简介和使用方法

作者:IT技术圈子 浏览量:468   更新于 2023-09-30 23:46 标签:

一、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) "测试"