色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

foreach循環(huán)獲取第一個(gè)和最后一個(gè)元素

林玟書2年前287瀏覽0評(píng)論

foreach循環(huán)獲取第一個(gè)和最后一個(gè)元素?

引言

對(duì)于數(shù)組遍歷,使用一個(gè) foreach 幾乎就完全夠用了。那么你一般在編寫代碼的時(shí)候,怎么判斷是循環(huán)的第一個(gè)元素,和最后一個(gè)元素呢?

本文通過(guò)幾個(gè)示例,展示實(shí)現(xiàn)此功能的多種方法。

學(xué)習(xí)時(shí)間

首先,我們使用最直接,最容易想到的辦法,使用一個(gè)計(jì)數(shù)器 $i 用于標(biāo)記當(dāng)前的索引位置。如果是第一個(gè),則 $i == 0;如果是最后一個(gè),則 $i 等于數(shù)組長(zhǎng)度減一。代碼如下:

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

上述代碼實(shí)現(xiàn)簡(jiǎn)單直接,但是寫的優(yōu)點(diǎn)太長(zhǎng)了,而且也不美觀。有沒(méi)有更優(yōu)雅一些的方式呢?

我們?cè)囍鴱腜HP數(shù)組操作函數(shù)上著手,內(nèi)置函數(shù)中提供了 reset,用于將指針指向數(shù)組的第一個(gè)元素;end 函數(shù),將指針指向數(shù)組的最后一個(gè)元素。下面的代碼,就是這樣實(shí)現(xiàn)的:

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

函數(shù) key() 用于獲取當(dāng)前數(shù)組指針?biāo)赶虻乃饕怠?/p>

而 foreach 循環(huán)內(nèi)將元素匹配到 $key => $element 兩個(gè)變量,$key 存儲(chǔ)循環(huán)所指向的索引位置。

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

這兩個(gè)函數(shù)都是在獲取不到元素時(shí)返回 false。那么代碼就可以這樣來(lái)寫了:

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

寫在最后

本文通過(guò)三種方式實(shí)現(xiàn)了定位 foreach 循環(huán)體內(nèi),第一個(gè)元素和最后一個(gè)元素的方法。希望大家熟練使用。

Happy coding :_)

我是 @程序員小助手 ,持續(xù)分享編程知識(shí),歡迎關(guān)注。

php最后一個(gè)元素是什么,foreach循環(huán)獲取第一個(gè)和最后一個(gè)元素