在之前的文章《PHP數(shù)組學(xué)習(xí)之第一/最后一個(gè)元素的獲?。ㄒ唬分校o大家介紹了獲取數(shù)組第一個(gè)元素和最后一個(gè)元素的方法,但這種方法的本質(zhì)上是將元素取出然后返回,返回的第一個(gè)元素和最后一個(gè)元素在數(shù)組中不存在了。但有時(shí)我們只是想獲取數(shù)組第一個(gè)元素和最后一個(gè)元素,并不想改變數(shù)組,那要怎么做呢?
其實(shí)很簡(jiǎn)單,PHP中內(nèi)置的函數(shù)reset()和end()即可實(shí)現(xiàn)。今天我們就來帶大家了解一下reset()和end()函數(shù),通過代碼實(shí)例看看reset()和end()函數(shù)如何獲取數(shù)組第一個(gè)元素和最后一個(gè)元素。(附:PHP函數(shù)之a(chǎn)rray數(shù)組函數(shù)視頻講解)
PHP中每個(gè)數(shù)組都有一個(gè)內(nèi)部指針,即數(shù)組指針;該指針會(huì)指向數(shù)組中的某個(gè)元素(該元素就是數(shù)組的當(dāng)前元素)。
數(shù)組指針默認(rèn)最初指向數(shù)組中的第一個(gè)元素,然后通過移動(dòng)或改變指針的位置,可訪問數(shù)組中的任意元素。
而reset()和end()函數(shù)就可以改變指針位置:
-
reset()函數(shù):可以將數(shù)組中的內(nèi)部指針指向第一個(gè)元素,并返回該元素的值。
-
end()函數(shù):可以將數(shù)組中的內(nèi)部指針指向最后一個(gè)元素,并返回該元素的值。
下面通過代碼實(shí)例來具體了解一下。
reset()函數(shù)獲取數(shù)組第一個(gè)元素
實(shí)例1:
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); var_dump($arr); //獲取數(shù)組中的第一個(gè)元素 $first = reset($arr); echo "數(shù)組第一個(gè)元素:" .$first; ?>
輸出:
像這種沒有定義鍵名的數(shù)組,輸出第一個(gè)元素的值時(shí),也可使用“$數(shù)組名[0]”的形式獲取。
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); var_dump($arr); //獲取并輸出數(shù)組中的第一個(gè)元素 echo "數(shù)組第一個(gè)元素:" .$arr[0]; ?>
實(shí)例2:
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉"=>"3元","蘋果"=>"5元","梨子"=>"6元","橙子"=>"4元","橘子"=>"3元","榴蓮"=>"23元"); var_dump($arr); //獲取數(shù)組中的第一個(gè)元素 $first = reset($arr); echo "數(shù)組第一個(gè)元素的鍵名和鍵值:".key($arr)." ".$first; ?>
輸出:
end()函數(shù)獲取數(shù)組最后一個(gè)元素
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉"=>"3元","蘋果"=>"5元","梨子"=>"6元","橙子"=>"4元","橘子"=>"3元","榴蓮"=>"23元"); var_dump($arr); //獲取數(shù)組中的第一個(gè)元素 $last = end($arr); echo "數(shù)組最后一個(gè)元素的鍵名和鍵值:".key($arr)." ".$last; ?>
輸出:
上面代碼示例中,我們使用end($arr)將數(shù)組中的內(nèi)部指針指向最后一個(gè)元素,那么此時(shí)數(shù)組的“當(dāng)前元素”為它的最后一個(gè)元素“"榴蓮"=>"23元"”,因此echo $last
會(huì)輸出“23元”,key($arr)
會(huì)返回最后一個(gè)元素的鍵名“"榴蓮"”。
推薦:《PHP面試題大匯總(收藏)》《php視頻教程》