PHP中的stdClass是一个通用的空对象,用于存储和操纵属性。它可以实现以下功能:
$obj = new stdClass();
$obj->name = "John";
$obj->age = 30;
$obj->city = "New York";
echo $obj->name; // 输出 "John"
echo $obj['age']; // 输出 30
foreach ($obj as $key => $value) {
echo $key . ": " . $value . "\n";
}
unset($obj->city);
$obj2 = new stdClass();
$obj2->job = "Engineer";
$obj->merge($obj2);
toArray()
方法将对象转换为数组。例如:$array = $obj->toArray();
__get()
、__set()
、__call()
等)来自定义对象属性的操作行为。例如:class CustomstdClass extends stdClass {
public function __get($name) {
return "Property '$name' not found";
}
public function __set($name, $value) {
$this->$name = $value;
}
}
这些功能使得stdClass成为PHP中一个非常灵活和实用的数据结构。