前回の記事「PHP配列学習:配列要素を横断するには?」 「4 つのメソッドの簡単な分析 」では、PHP で配列を走査する 4 つのメソッドを紹介しました。引き続きトラバーサルを理解し、PHP オブジェクトがどのようにトラバースされるかを紹介します。必要に応じて参照してください。
まず第一に、オブジェクト トラバーサルとは何かを理解しましょう。これは主に、オブジェクトの外部から見える属性 (つまり、アクセス制限の public によって宣言された属性) をトラバースすることを指します。
それでは、オブジェクトをどのように横断するのでしょうか?オブジェクト トラバーサルの一般的な方法は、foreach ステートメントを使用することです。そうです、foreach ステートメントを使用するだけです (これは非常に強力です。配列とオブジェクトの両方を走査できます)。
foreach ステートメントは、確かに最初は配列を走査するように設計されていましたが、PHP5 以降では、新しい機能が追加され、オブジェクトも走査することができます。 foreach ステートメントには、配列とオブジェクトを走査するための同じ構文形式があります。2 つの形式があります:
//语法格式1 foreach ($object as $value){ 语句块; } //语法格式2 foreach ($object as $key => $value){ 语句块; }
これら 2 つの形式は、実際には非常によく似ています。唯一の違いは: 構文形式 1 での走査 $objec
オブジェクトでは、現在のオブジェクトの「メンバー属性値」を各ループの $value
に代入し、 構文形式 2 で をトラバースします。 $ objec
オブジェクトの場合、各ループで現在のオブジェクトの「メンバー属性値」が $value
に割り当てられ、「メンバー属性名」が $key# に割り当てられます。 ##。
<?php header("Content-type:text/html;charset=utf-8"); class Demo //定义一个类 { public $name; //定义变量--成员属性 public $age; //定义变量--成员属性 public $salary; //定义变量--成员属性 public function __construct($name,$age,$salary) //定义函数--成员方法 { $this->name = $name; $this->age = $age; $this->salary = $salary; } } //实例化对象 $obj = new Demo('李华', 25, 4200); ?>
foreach ($obj as $value) { echo $value.'<br>'; }
foreach ($obj as $value) ステートメントを直接使用して、
$obj オブジェクトに表示されているすべてのプロパティを取得します。
foreach ($obj as $key=>$value) { echo $key.'=>'.$value.'<br>'; }
推奨: PHP 面接の質問の要約 (コレクション)>>
以上がPHP ループ学習 6: オブジェクトを走査する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。