使用陣列的過程中經常要遍歷陣列。通常需要遍歷陣列並獲得各個鍵或值(或者同時獲得鍵和值),所以毫不奇怪,php為此提供了一些函式來滿足需求。許多函式能完成兩項任務,不僅能獲取當前指標位置的鍵或值,還能將指標移向下乙個適當的位置。
獲取當前陣列鍵 key()
key()函式返回input_array中當前指標所在位置的鍵。其形式如下:
mixed key(array array)
下面的例子通過迭代處理陣列並移動指標來輸出$fruits陣列的鍵:
$fruits = array("apple"=>"red", "banana"=>"yellow");
while ($key = key($fruits))
// apple
// banana
注意,每次呼叫key()時不會移動指標。為此需要使用next()函式,這個函式的唯一作用就是完成推進指標的任務。
獲取當前陣列值 current()
current()函式返回陣列中當前指標所在位置的陣列值。其形式如下:
mixed current(array array)
下面修改前面的例子,這一次我們要獲取陣列值:
$fruits = array("apple"=>"red", "banana"=>"www.cppcns.comyellow");
while ($fruit = current($fruits))
// red
// yellow
獲取當前陣列鍵和值 each()
each()函式返回input_array的當前鍵/值對,並將指標推進乙個位置。其形式如下:
array each(array array)
返回的陣列包含四個鍵,鍵0和key包含鍵名,而鍵1和value包含相應的資料。如果執行each()前指標位於陣列末尾,則返回false。
$fruits = array("apple", "banana", "orange", "pear");
print_r ( each($fruits) );
// array ( [1] => apple [value] => apple [0] => 0 [key] => 0 )
each() 經常和 list() 結合使用來遍歷陣列。本例與上例類似,不過迴圈輸出了整個陣列:
$fruits = array("apple", "banana"www.cppcns.com, "orange", "pear");
reset($fruits);
while (list($key, $val) = each($fruits))
// 0 => apple
// 1 => banana
// 2 => orange
// 3 => pear
因為將乙個陣列賦值給另乙個陣列時會重置原來的陣列指標,因此在上例中如果我們在迴圈內部將 $fruits 賦給了另乙個變數的話將會導致無限迴圈。
這就完成了陣列的遍歷。
本文標題: php獲取陣列的鍵與值方法小結
本文位址: /wangluo/php/126428.html
PHP獲取陣列的鍵與值方法小結
array keys array 獲取陣列 字典 的所有鍵值,返回乙個鍵值陣列。array values array 獲取陣列的所有value值,飯回乙個陣列。json 註明 value不帶雙引號時,其值只能是數字。注意 大括號兩邊只能是單引號,不能是雙引號 帶雙引號時,可為任意字元。如 print...
PHP獲取陣列的鍵與值方法小結
array keys array 獲取陣列 字典 的所有鍵值,返回乙個鍵值陣列。array values array 獲取陣列的所有value值,飯回乙個陣列。json 註明 value不帶雙引號時,其值只能是數字。注意 大括號兩邊只能是單引號,不能是雙引號 帶雙引號時,可為任意字元。如 print...
PHP如何獲取陣列的鍵與值
使用陣列的過程中經常要遍歷陣列。通常需要遍歷陣列並獲得各個鍵或值 或者同時獲得鍵和值 所以毫不奇怪,php為此提供了一些函式來滿足需求。許多函式能完成兩項任務,不僅能獲取當前指標位置的鍵或值,還能將指標移向下乙個適當的位置。獲取當前陣列鍵 key key 函式返回input array中當前指標所在...