在之前的文章《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面試題大匯總(收藏)》