PHP8 stdClass 類
2023-08-21 15:43 更新
(PHP 4, PHP 5, PHP 7, PHP 8)
簡介
具有動態屬性的通用空類。
此類的對象可以使用 new 運算符實例化,也可以通過類型轉換為對象創建。幾個 PHP 函數也會創建此類的實例,比如 json_decode()、mysqli_fetch_object() 或 PDOStatement::fetchObject()。
盡管沒有實現 __get()/__set() 魔術方法,但此類允許動態屬性且不需要 #[\AllowDynamicProperties] 屬性。
這不是 PHP 的基類,因為 PHP 沒有通用基類的概念。然而,可以創建繼承 stdClass 的自定義類,從而繼承動態屬性的功能。
類摘要
class stdClass {
}
此類沒有方法和默認屬性。
示例
示例 #1 通過類型轉換為對象創建
<?php
$obj = (object) array('foo' => 'bar');
var_dump($obj);
以上示例會輸出:
object(stdClass)#1 (1) {
["foo"]=>
string(3) "bar"
}
示例 #2 通過 json_decode() 創建
<?php
$json = '{"foo":"bar"}';
var_dump(json_decode($json));
以上示例會輸出:
object(stdClass)#1 (1) {
["foo"]=>
string(3) "bar"
}
示例 #3 聲明動態屬性
<?php
$obj = new stdClass();
$obj->foo = 42;
$obj->{1} = 42;
var_dump($obj);
以上示例會輸出:
object(stdClass)#1 (2) {
["foo"]=>
int(42)
["1"]=>
int(42)
}
以上內容是否對您有幫助:
更多建議: