PHP each() 函數(shù)
定義和用法
each() 函數(shù)生成一個(gè)由數(shù)組當(dāng)前內(nèi)部指針?biāo)赶虻脑氐逆I名和鍵值組成的數(shù)組,并把內(nèi)部指針向前移動(dòng)。
返回的數(shù)組中包括的四個(gè)元素:鍵名為 0,1,key 和 value。單元 0 和 key 包含有數(shù)組單元的鍵名,1 和 value 包含有數(shù)據(jù)。
如果內(nèi)部指針越過(guò)了數(shù)組范圍,本函數(shù)將返回 FALSE。
語(yǔ)法
each(array)
參數(shù) | 描述 |
---|---|
array | 必需。規(guī)定要使用的數(shù)組。 |
例子 1
<?php $people = array("Peter", "Joe", "Glenn", "Cleveland"); print_r (each($people)); ?>
輸出:
Array ( [1] => Peter [value] => Peter [0] => 0 [key] => 0 )
例子 2
each() 經(jīng)常和 list() 結(jié)合使用來(lái)遍歷數(shù)組。本例與上例類似,不過(guò)循環(huán)輸出了整個(gè)數(shù)組:
<?php $people = array("Peter", "Joe", "Glenn", "Cleveland"); reset($people); while (list($key, $val) = each($people)) { echo "$key => $val<br />"; } ?>
輸出:
0 => Peter 1 => Joe 2 => Glenn 3 => Cleveland
例子解釋
因?yàn)閷⒁粋(gè)數(shù)組賦值給另一個(gè)數(shù)組時(shí)會(huì)重置原來(lái)的數(shù)組指針,因此在上例中如果我們?cè)谘h(huán)內(nèi)部將 $people 賦給了另一個(gè)變量的話將會(huì)導(dǎo)致無(wú)限循環(huán)。