首頁  >  文章  >  後端開發  >  PHP數組學習之第一/最後一個元素的獲取(二)

PHP數組學習之第一/最後一個元素的獲取(二)

青灯夜游
青灯夜游原創
2021-07-30 15:25:033053瀏覽

在先前的文章《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;
?>

輸出:

PHP數組學習之第一/最後一個元素的獲取(二)

像這種沒有定義鍵名的數組,當輸出第一個元素的值時,也可使用“$數組名[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;
?>

輸出:

PHP數組學習之第一/最後一個元素的獲取(二)

上面程式碼範例中,我們使用 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;
?>

#輸出:

PHP數組學習之第一/最後一個元素的獲取(二)

上面程式碼範例中,我們使用end($arr)將陣列中的內部指標指向最後一個元素,那麼此時陣列的「目前元素」為它的最後一個元素「"榴槤"=>" 23元"”,因此echo $last會輸出“23元”,key($arr)會傳回最後一個元素的鍵名“"榴蓮"”。

推薦:PHP面試題大匯總(收藏)》《php影片教學

以上是PHP數組學習之第一/最後一個元素的獲取(二)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn