在先前的文章《PHP數組學習之第一/最後一個元素的獲取(一)》中,給大家介紹了獲取數組第一個元素和最後一個元素的方法,但這種方法的本質上是將元素取出然後返回,返回的第一個元素和最後一個元素在數組中不存在了。但有時我們只是想取得數組第一個元素和最後一個元素,並不想改變數組,那要怎麼做呢?
其實很簡單,PHP內建的函數reset()和end()即可實現。今天我們就來帶大家來了解reset()和end()函數,透過程式碼實例來看看reset()和end()函數如何取得陣列第一個元素和最後一個元素。 (附:PHP函數之array數組函數視訊講解)
PHP中每個數組都有內部指針,即數組指針;該指針會指向數組中的某個元素(該元素就是數組的目前元素)。
陣列指標預設最初指向陣列中的第一個元素,然後透過移動或改變指標的位置,可存取陣列中的任意元素。
而reset()和end()函數就可以改變指標位置:
#reset()函數:可以將陣列中的內部指標指向第一個元素,並傳回該元素的值。
end()函數:可以將陣列中的內部指標指向最後一個元素,並傳回該元素的值。
下面透過程式碼實例來具體了解一下。
reset()函數取得陣列第一個元素
#實例1:
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); var_dump($arr); //获取数组中的第一个元素 $first = reset($arr); echo "数组第一个元素:" .$first; ?>
輸出:
像這種沒有定義鍵名的數組,當輸出第一個元素的值時,也可使用“$數組名[0]”的形式獲取。
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); var_dump($arr); //获取并输出数组中的第一个元素 echo "数组第一个元素:" .$arr[0]; ?>
實例2:
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉"=>"3元","苹果"=>"5元","梨子"=>"6元","橙子"=>"4元","橘子"=>"3元","榴莲"=>"23元"); var_dump($arr); //获取数组中的第一个元素 $first = reset($arr); echo "数组第一个元素的键名和键值:".key($arr)." ".$first; ?>
輸出:
上面程式碼範例中,我們使用 reset($arr)
將數組中的內部指標指向第一個元素,那麼此時數組的“當前元素”為它的第一個元素“"香蕉"=>"3元"”,所以echo $first
會輸出“3元”,使用key($arr)
取得到的鍵名為第一個元素的鍵名“"香蕉"”。
key()函數可以取得陣列目前元素的鍵名,而鍵值可以使用current()函數傳回。
end()函數取得陣列最後一個元素
#<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉"=>"3元","苹果"=>"5元","梨子"=>"6元","橙子"=>"4元","橘子"=>"3元","榴莲"=>"23元"); var_dump($arr); //获取数组中的第一个元素 $last = end($arr); echo "数组最后一个元素的键名和键值:".key($arr)." ".$last; ?>
#輸出:
上面程式碼範例中,我們使用end($arr)將陣列中的內部指標指向最後一個元素,那麼此時陣列的「目前元素」為它的最後一個元素「"榴槤"=>" 23元"”,因此echo $last
會輸出“23元”,key($arr)
會傳回最後一個元素的鍵名“"榴蓮"”。
推薦:《PHP面試題大匯總(收藏)》《php影片教學》
以上是PHP數組學習之第一/最後一個元素的獲取(二)的詳細內容。更多資訊請關注PHP中文網其他相關文章!