在之前的文章《PHP數組學習之怎麼遍歷數組元素? 4種方法淺析》中,我們介紹了PHP遍歷陣列的4種方法。下面我們繼續來了解遍歷,跟大家介紹一下PHP物件是如何遍歷的,有需要的可以參考參考。
首先我們來了解下一種什麼是物件遍歷:它主要是指遍歷物件中的,對外部可見的屬性(即存取限制符public宣告的屬性)。
那麼物件怎麼進行遍歷呢?常用的物件遍歷方法是使用foreach語句。沒錯,就是使用foreach語句(是不是很強大,數組和物件都可以遍歷)。
foreach語句一開始的確是為遍歷陣列而設計出來的,但從PHP5開始,它新增功能--也可以遍歷物件了。 foreach語句遍歷陣列和物件的語法格式一樣,都有兩種格式:
//语法格式1 foreach ($object as $value){ 语句块; } //语法格式2 foreach ($object as $key => $value){ 语句块; }
這兩種格式其實很類似,差別只在於:語法格式1中遍歷 $objec
物件時,在每次迴圈中將目前物件的「成員屬性值」賦給 $value
;而語法格式2中,遍歷$ objec
物件時,在每次迴圈中會將目前物件的「成員屬性值」賦給 $value
,「成員屬性名稱」賦給 $key
。
下面我們透過程式碼範例來看看foreach語句是如何遍歷物件的。
我們定義一個類,將類別實例化成物件:
<?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語句遍歷物件
foreach ($obj as $value) { echo $value.'<br>'; }
我們來看看輸出:
是不是很簡單。在實例化物件後,直接使用foreach ($obj as $value)
語句就可以獲得$obj
物件中的所有可見屬性了。
上面只取得了“成員屬性值”,有時我們需要“成員屬性名”和“成員屬性值”值一起取得,就可以使用foreach語句的第二種格式:
foreach ($obj as $key=>$value) { echo $key.'=>'.$value.'<br>'; }
我們來看看輸出:
好了就說到這裡了,有其他想知道的,可以點擊這個哦。 → →php影片教學
推薦:《PHP面試題大匯總(收藏)》
以上是PHP循環學習六:物件如何進行遍歷的詳細內容。更多資訊請關注PHP中文網其他相關文章!