PHP中有很多函數(shù)可以用來對數(shù)組進行操作,而key和current函數(shù)是常用的兩個函數(shù)。key函數(shù)返回數(shù)組當前指針指向的元素的鍵名,而current函數(shù)返回當前指針指向的元素的值。這兩個函數(shù)相互作用,可以幫助我們輕松地遍歷和操作數(shù)組。
例如,我們有一個數(shù)組,需要輸出它的鍵和值:
$arr = [100 =>"apple", 200 =>"banana", 300 =>"orange"]; foreach($arr as $key =>$value) { echo "key: $key, value: $value"; }以上代碼中,我們使用foreach循環(huán)遍歷數(shù)組arr,將每個元素的鍵賦值給$key,將每個元素的值賦值給$value,并輸出它們。但是,如果要在循環(huán)體中對數(shù)組進行操作,我們還需要使用key和current函數(shù)。 例如,我們需要輸出數(shù)組中的第一個元素:
$arr = [100 =>"apple", 200 =>"banana", 300 =>"orange"]; reset($arr); // 將數(shù)組的指針移動到第一個元素 echo "key: " . key($arr) . ", value: " . current($arr);以上代碼中,我們通過reset函數(shù)將數(shù)組的指針移動到第一個元素,然后使用key和current函數(shù)輸出當前指針指向的元素的鍵和值。 另一個實際的例子是如何使用key和current函數(shù)對每個數(shù)組元素進行操作:
$arr = [100 =>"apple", 200 =>"banana", 300 =>"orange"]; reset($arr); // 移動指針到第一個元素 while ($current = current($arr)) { if ($current == "banana") { echo "delete key: " . key($arr) . "以上代碼中,我們使用while循環(huán)遍歷數(shù)組arr,首先使用reset函數(shù)將指針移動到第一個元素。我們用current函數(shù)獲取當前元素的值,如果值等于"banana",就使用key函數(shù)獲取當前元素的鍵然后使用unset函數(shù)刪除它。如果值不等于"banana",就使用key和current函數(shù)輸出當前元素的鍵和值,然后使用next函數(shù)將指針移動到下一個元素。 總結(jié)來說,PHP中的key和current函數(shù)是操作數(shù)組時非常有用的函數(shù),通過結(jié)合它們能夠輕松地遍歷、刪除、修改數(shù)組中的元素。
"; unset($arr[key($arr)]); // 刪除當前元素 } else { echo "key: " . key($arr) . ", value: " . current($arr) . "
"; next($arr); // 移動指針到下一個元素 } }