在之前的文章《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視頻教程》
站長資訊網