PHP - 類/物件 get_mangled_object_vars() 函式



PHP 類/物件 **get_mangled_object_vars()** 函式用於返回一個包含混淆物件屬性的陣列。此函式允許訪問所有屬性,例如具有內部或特殊名稱的屬性。

語法

以下是 PHP 類/物件 **get_mangled_object_vars()** 函式的語法:

array get_mangled_object_vars ( object $object )

引數

此函式接受 **$object** 引數,它是您要從中獲取混淆屬性的物件。

返回值

**get_mangled_object_vars()** 函式返回一個關聯陣列,其中包含物件的屬性,鍵表示屬性的混淆名稱。

PHP 版本

**get_mangled_object_vars()** 函式首次引入於 PHP 7.4.0,在 PHP 8 中也能輕鬆使用。

示例 1

此示例演示瞭如何使用 PHP 類/物件 **get_mangled_object_vars()** 函式提取並顯示簡單物件的混淆屬性(私有和公有)。

<?php
   // Define a class here
   class MyClass {
      private $privateVar = 'Private';
      public $publicVar = 'Public';
   }
  
   $obj = new MyClass();
   $mangledVars = get_mangled_object_vars($obj);
   print_r($mangledVars);
?>

輸出

以下是以下程式碼的結果:

Array
(
    ["MyClassprivateVar"] => Private
)

示例 2

在下面的 PHP 程式碼中,我們將使用 **get_mangled_object_vars()** 函式獲取受保護屬性的混淆名稱。

<?php
   // Define a class here
   class MyClass {
      protected $protectedVar = 'Protected';
   }
  
   $obj = new MyClass();
   $mangledVars = get_mangled_object_vars($obj);
   print_r($mangledVars);
?> 

輸出

這將生成以下輸出:

Array
(
   ["*protectedVar"] => Protected
)

示例 3

此示例演示瞭如何從繼承自父類的子類中使用 **get_mangled_object_vars()** 函式獲取混淆屬性。

<?php
   class ParentClass {
      private $parentPrivateVar = 'Parent Private';
   }
  
   class ChildClass extends ParentClass {
      private $childPrivateVar = 'Child Private';
   }
  
   $obj = new ChildClass();
   $mangledVars = get_mangled_object_vars($obj);
   print_r($mangledVars);
?> 

輸出

這將建立以下輸出:

Array
(
    ["ParentClassparentPrivateVar"] => Parent Private
    ["ChildClasschildPrivateVar"] => Child Private
)
php_function_reference.htm
廣告