在之前的文章《PHP數(shù)組學(xué)習(xí)之怎么遍歷數(shù)組元素?4種方法淺析》中,我們介紹了PHP中遍歷數(shù)組的4種方法。下面我們繼續(xù)來(lái)了解遍歷,給大家介紹一下PHP對(duì)象是如何遍歷的,有需要的可以參考參考。
首先我們來(lái)了解下一種什么是對(duì)象遍歷:它主要就是指遍歷對(duì)象中的,對(duì)外部可見(jiàn)的屬性(即訪問(wèn)限制符public聲明的屬性)。
那么對(duì)象怎么進(jìn)行遍歷呢?常用的對(duì)象遍歷方法是使用foreach語(yǔ)句。沒(méi)錯(cuò),就是使用foreach語(yǔ)句(是不是很強(qiáng)大,數(shù)組和對(duì)象都可以遍歷)。
foreach語(yǔ)句一開(kāi)始的確是為遍歷數(shù)組而設(shè)計(jì)出的,但從PHP5開(kāi)始,它添加新功能–也可以遍歷對(duì)象了。foreach語(yǔ)句遍歷數(shù)組和對(duì)象的語(yǔ)法格式一樣,都有兩種格式:
//語(yǔ)法格式1 foreach ($object as $value){ 語(yǔ)句塊; } //語(yǔ)法格式2 foreach ($object as $key => $value){ 語(yǔ)句塊; }
這兩種格式其實(shí)很類似,區(qū)別只在于:語(yǔ)法格式1中遍歷$objec
對(duì)象時(shí),在每次循環(huán)中將當(dāng)前對(duì)象的“成員屬性值”賦給 $value
;而語(yǔ)法格式2中,遍歷$objec
對(duì)象時(shí),在每次循環(huán)中會(huì)將當(dāng)前對(duì)象的“成員屬性值”賦給 $value
,“成員屬性名”賦給 $key
。
下面我們通過(guò)代碼示例來(lái)看看foreach語(yǔ)句是如何遍歷對(duì)象的。
我們定義一個(gè)類,將類實(shí)例化成對(duì)象:
<?php header("Content-type:text/html;charset=utf-8"); class Demo //定義一個(gè)類 { public $name; //定義變量--成員屬性 public $age; //定義變量--成員屬性 public $salary; //定義變量--成員屬性 public function __construct($name,$age,$salary) //定義函數(shù)--成員方法 { $this->name = $name; $this->age = $age; $this->salary = $salary; } } //實(shí)例化對(duì)象 $obj = new Demo('李華', 25, 4200); ?>
使用foreach語(yǔ)句遍歷對(duì)象
foreach ($obj as $value) { echo $value.'<br>'; }
我們來(lái)看看輸出:
是不是很簡(jiǎn)單。在實(shí)例化對(duì)象后,直接使用foreach ($obj as $value)
語(yǔ)句就可以獲得$obj
對(duì)象中的所有可見(jiàn)屬性了。
上面只獲取了“成員屬性值”,有時(shí)我們需要“成員屬性名”和“成員屬性值”值一起獲取,就可以使用foreach語(yǔ)句的第二種格式:
foreach ($obj as $key=>$value) { echo $key.'=>'.$value.'<br>'; }
我們來(lái)看看輸出:
好了就說(shuō)到這里了,有其他想知道的,可以點(diǎn)擊這個(gè)哦?!?→php視頻教程
推薦:《PHP面試題大匯總(收藏)》