本文實(shí)例講述了PHP獲取數(shù)組的鍵與值方法。分享給大家供大家參考。具體如下:
使用數(shù)組的過程中經(jīng)常要遍歷數(shù)組。通常需要遍歷數(shù)組并獲得各個(gè)鍵或值(或者同時(shí)獲得鍵和值),所以毫不奇怪,PHP為此提供了一些函數(shù)來滿足需求。許多函數(shù)能完成兩項(xiàng)任務(wù),不僅能獲取當(dāng)前指針位置的鍵或值,還能將指針移向下一個(gè)適當(dāng)?shù)奈恢谩?/p>
獲取當(dāng)前數(shù)組鍵 key()
key()函數(shù)返回input_array中當(dāng)前指針?biāo)谖恢玫逆I。其形式如下:
mixed key(array array)
下面的例子通過迭代處理數(shù)組并移動(dòng)指針來輸出$fruits數(shù)組的鍵:
1
2
3
4
5
6
7
|
$fruits = array ( "apple" => "red" , "banana" => "yellow" ); while ( $key = key( $fruits )) { printf( "%s <br />" , $key ); next( $fruits ); } // apple // banana |
注意,每次調(diào)用key()時(shí)不會(huì)移動(dòng)指針。為此需要使用next()函數(shù),這個(gè)函數(shù)的唯一作用就是完成推進(jìn)指針的任務(wù)。
獲取當(dāng)前數(shù)組值 current()
current()函數(shù)返回?cái)?shù)組中當(dāng)前指針?biāo)谖恢玫臄?shù)組值。其形式如下:
mixed current(array array)
下面修改前面的例子,這一次我們要獲取數(shù)組值:
1
2
3
4
5
6
7
|
$fruits = array ( "apple" => "red" , "banana" => "yellow" ); while ( $fruit = current( $fruits )) { printf( "%s <br />" , $fruit ); next( $fruits ); } // red // yellow |
獲取當(dāng)前數(shù)組鍵和值 each()
each()函數(shù)返回input_array的當(dāng)前鍵/值對(duì),并將指針推進(jìn)一個(gè)位置。其形式如下:
array each(array array)
返回的數(shù)組包含四個(gè)鍵,鍵0和key包含鍵名,而鍵1和value包含相應(yīng)的數(shù)據(jù)。如果執(zhí)行each()前指針位于數(shù)組末尾,則返回false。
1
2
3
|
$fruits = array ( "apple" , "banana" , "orange" , "pear" ); print_r ( each( $fruits ) ); // Array ( [1] => apple [value] => apple [0] => 0 [key] => 0 ) |
each() 經(jīng)常和 list() 結(jié)合使用來遍歷數(shù)組。本例與上例類似,不過循環(huán)輸出了整個(gè)數(shù)組:
1
2
3
4
5
6
7
8
9
10
|
$fruits = array ( "apple" , "banana" , "orange" , "pear" ); reset( $fruits ); while (list( $key , $val ) = each( $fruits )) { echo "$key => $val<br />" ; } // 0 => apple // 1 => banana // 2 => orange // 3 => pear |
因?yàn)閷⒁粋€(gè)數(shù)組賦值給另一個(gè)數(shù)組時(shí)會(huì)重置原來的數(shù)組指針,因此在上例中如果我們?cè)谘h(huán)內(nèi)部將 $fruits 賦給了另一個(gè)變量的話將會(huì)導(dǎo)致無限循環(huán)。
這就完成了數(shù)組的遍歷。
希望本文所述對(duì)大家的jQuery程序設(shè)計(jì)有所幫助。