PHP Conference Japan 2024

get_mangled_object_vars

(PHP 7 >= 7.4.0, PHP 8)

get_mangled_object_vars返回經過名稱修飾的物件屬性陣列

說明

get_mangled_object_vars(物件 $object): 陣列

返回一個 陣列,其元素為 object 的屬性。鍵值是成員變數名稱,但有一些值得注意的例外:私有變數的變數名稱前會加上類別名稱,而受保護的變數名稱前會加上 *。這些前置值的前後都有 NUL 位元組。未初始化的型別化屬性會被靜默地捨棄。

參數

object

一個物件實例。

返回值

返回一個包含 object 所有屬性(不論可見性)的 陣列

範例

範例 #1 get_mangled_object_vars() 範例

<?php

class A
{
public
$public = 1;

protected
$protected = 2;

private
$private = 3;
}

class
B extends A
{
private
$private = 4;
}

$object = new B;
$object->dynamic = 5;
$object->{'6'} = 6;

var_dump(get_mangled_object_vars($object));

class
AO extends ArrayObject
{
private
$private = 1;
}

$arrayObject = new AO(['x' => 'y']);
$arrayObject->dynamic = 2;

var_dump(get_mangled_object_vars($arrayObject));

以上範例會輸出

array(6) {
  ["Bprivate"]=>
  int(4)
  ["public"]=>
  int(1)
  ["*protected"]=>
  int(2)
  ["Aprivate"]=>
  int(3)
  ["dynamic"]=>
  int(5)
  [6]=>
  int(6)
}
array(2) {
  ["AOprivate"]=>
  int(1)
  ["dynamic"]=>
  int(2)
}

另請參閱

新增筆記

使用者貢獻的筆記

此頁面沒有使用者貢獻的筆記。
To Top