オブジェクトの走査は、配列の走査と同じです。オブジェクトの走査は、インスタンスプロパティの走査を指します。
以下で対象となる属性は、このスコープ内で「アクセス可能な属性」です (アクセス許可を考慮する必要があります)。
<?phpclass A{ public $p1 = 1; protected $p2 = 2; private $p3 = 3; static $p4 = 4; }$obj1 = new A();foreach($obj1 as $key => $value){//$key表示对象的属性,$value是其对应的值 echo "<br />属性$key :" . $value; }?>
実行結果:
属性p1 :1
パブリックに変更されたプロパティのみをトラバースできることがわかります。では、オブジェクトのすべてのプロパティをトラバースするにはどうすればよいでしょうか?クラス内にトラバーサル メソッドを記述するだけです。
<?phpclass A{ public $p1 = 1; protected $p2 = 2; private $p3 = 3; static $p4 = 4; //静态属性 function showAllProperties(){ foreach($this as $key => $value){ echo "<br />属性$key :$value"; } } }$obj1 = new A();$obj1->showAllProperties();?>
実行結果:
属性p1 :1 属性p2 :2 属性p3 :3
ただし、静的属性はオブジェクトに属していないため、トラバースできません。
以上がオブジェクトトラバーサルのための PHP オブジェクト指向コード共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。