查詢

get_mangled_object_vars()函式—用法及示例

「 返回一個關聯陣列,其中包含物件的所有屬性和對應的值,包括私有屬性 」


函式名稱:get_mangled_object_vars()

適用版本:PHP 7.4.0及以上版本

函式描述:get_mangled_object_vars() 函式返回一個關聯陣列,其中包含物件的所有屬性和對應的值,包括私有屬性。與內建的 get_object_vars() 函式不同的是,get_mangled_object_vars() 函式也能獲取到以雙下劃線開頭的私有屬性。

用法:

get_mangled_object_vars ( object $object ) : array

引數:

  • $object:必需,要獲取屬性的物件。

返回值:

  • 返回一個包含物件屬性及其對應值的關聯陣列。

示例:

class MyClass {
    public $publicVar = 'Public Variable';
    private $__privateVar = 'Private Variable';
}

$obj = new MyClass();
$vars = get_mangled_object_vars($obj);

var_dump($vars);

輸出:

array(2) {
  ["publicVar"]=>
  string(15) "Public Variable"
  ["__privateVar"]=>
  string(15) "Private Variable"
}

在上面的示例中,我們定義了一個名為 MyClass 的類,其中包含一個公共屬性 $publicVar 和一個私有屬性 $__privateVar。然後,我們建立了一個 MyClass 的物件 $obj,並使用 get_mangled_object_vars() 函式獲取了物件的所有屬性及其對應的值。最後,我們使用 var_dump() 函式列印了獲取到的屬性陣列。

需要注意的是,get_mangled_object_vars() 函式只能獲取到以雙下劃線開頭的私有屬性,這是因為在 PHP 中,私有屬性會被編譯器進行名稱修飾,以防止與其他類的私有屬性發生衝突。

補充糾錯
上一個函式: get_meta_tags()函式
熱門PHP函式
分享連結