foreach的基本語(yǔ)法格式如下:
foreach($數(shù)組 as $元素) { //執(zhí)行要進(jìn)行的操作 }
其中 $數(shù)組是要遍歷的數(shù)組名,$元素是每個(gè)被遍歷的元素。在循環(huán)過(guò)程中,$元素會(huì)依次地取出數(shù)組中的每個(gè)元素,并進(jìn)行處理。我們可以使用$元素來(lái)進(jìn)行操作,比如,如果數(shù)組存儲(chǔ)的是數(shù)字,則可以把它們相加,或者如果數(shù)組元素存儲(chǔ)的是字符串,則可以把它們連接在一起。
下面讓我們來(lái)看看一個(gè)例子,假設(shè)我們有以下數(shù)組:
$fruit = array("apple", "banana", "orange", "lemon", "peach");
此時(shí),我們可以使用foreach循環(huán)遍歷這個(gè)數(shù)組中的元素:
foreach($fruit as $f) { echo $f . "
"; }
這樣就會(huì)打印出以下結(jié)果:
apple banana orange lemon peach
以上代碼中的“."
”這個(gè)換行符是在HTML中使用的換行符。如需在PHP中使用實(shí)際的換行符,請(qǐng)使用"\n"。
不僅僅是數(shù)組,foreach同樣適用于對(duì)象。假設(shè)有以下對(duì)象:
class Person { public $name = "Lily"; public $age = "18"; public $sex = "female"; } $p = new Person();
我們可以這樣來(lái)遍歷對(duì)象的屬性:
foreach($p as $key=>$value) { echo $key."=".$value."
"; }
該代碼會(huì)輸出以下結(jié)果:
name=Lily age=18 sex=female
可以看到,在遍歷對(duì)象的屬性時(shí),我們需要使用兩個(gè)參數(shù):$key和$value。其中,$key代表屬性名,$value則代表屬性值。通過(guò)這種方式,我們可以將對(duì)象的屬性逐一取出并輸出。
foreach循環(huán)的另一個(gè)有用之處是在嵌套的數(shù)組中使用。
假設(shè)我們有一個(gè)二維數(shù)組:
$names = array( array("Tom", 25, "male"), array("Lucy", 22, "female"), array("Jack", 30, "male") );
我們可以使用以下代碼來(lái)遍歷它:
foreach($names as $nameArr) { foreach($nameArr as $nameValue) { echo $nameValue. " "; } echo "
"; }
這段代碼實(shí)際上是一個(gè)嵌套循環(huán)。外層循環(huán)遍歷每個(gè)二維數(shù)組元素,內(nèi)層循環(huán)遍歷二維數(shù)組元素中的每個(gè)元素,并將其輸出。
在PHP中,foreach循環(huán)是非常實(shí)用、高效的結(jié)構(gòu)。它能夠方便地遍歷數(shù)組或?qū)ο笾械脑兀沁M(jìn)行數(shù)組或?qū)ο蟛僮鞯牟豢苫蛉钡墓ぞ摺M瑫r(shí),foreach也可嵌套使用,以滿足更加復(fù)雜的操作需求。