欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

foreach循環獲取第一個和最后一個元素

林玟書2年前287瀏覽0評論

foreach循環獲取第一個和最后一個元素?

引言

對于數組遍歷,使用一個 foreach 幾乎就完全夠用了。那么你一般在編寫代碼的時候,怎么判斷是循環的第一個元素,和最后一個元素呢?

本文通過幾個示例,展示實現此功能的多種方法。

學習時間

首先,我們使用最直接,最容易想到的辦法,使用一個計數器 $i 用于標記當前的索引位置。如果是第一個,則 $i == 0;如果是最后一個,則 $i 等于數組長度減一。代碼如下:

$i = 0; $len = count($array); foreach ($array as $item) { if ($i == 0) { // first } else if ($i == $len - 1) { // last } $i++; }

上述代碼實現簡單直接,但是寫的優點太長了,而且也不美觀。有沒有更優雅一些的方式呢?

我們試著從PHP數組操作函數上著手,內置函數中提供了 reset,用于將指針指向數組的第一個元素;end 函數,將指針指向數組的最后一個元素。下面的代碼,就是這樣實現的:

foreach($array as $key => $element) { reset($array); if ($key === key($array)) echo 'FIRST ELEMENT!'; end($array); if ($key === key($array)) echo 'LAST ELEMENT!'; }

函數 key() 用于獲取當前數組指針所指向的索引值。

而 foreach 循環內將元素匹配到 $key => $element 兩個變量,$key 存儲循環所指向的索引位置。

PHP 的數組操作函數為我們提供了思路,那么當然還可以用 prev 函數,返回前一個元素的值;使用 next 函數,獲取下一個元素的值。

這兩個函數都是在獲取不到元素時返回 false。那么代碼就可以這樣來寫了:

foreach( $items as $item ) { if( !prev( $items ) ) { echo 'First Item'; } if( !next( $items ) ) { echo 'Last Item'; } }

寫在最后

本文通過三種方式實現了定位 foreach 循環體內,第一個元素和最后一個元素的方法。希望大家熟練使用。

Happy coding :_)

我是 @程序員小助手 ,持續分享編程知識,歡迎關注。

php最后一個元素是什么,foreach循環獲取第一個和最后一個元素