如何確定 PHP foreach 迴圈中的第一次和最後一次迭代

  1. PHP foreach() 語法
  2. 在 PHP 的 foreach() 迴圈中獲取第一個和最後一個元素

PHP foreach() 迴圈用於遍歷陣列中的每個元素。在本文中,我們將來學習如何使用 foreach() 迴圈以及如何獲取陣列的第一項和最後一項元素。

PHP foreach() 語法

foreach() 迴圈主要用於遍歷陣列的每個值。

foreach() 迴圈示例:

for($array as $key => $value){
    // Add code here
}

foreach() 引數含義:

  • array - 它必須是在迴圈中使用的有效陣列;如果傳遞的陣列無效或字串無效,則返回如下錯誤:(Warning: Invalid argument supplied for foreach())。
  • $key - 它是每次迭代中的元素的鍵值。
  • $value - 它是每次迭代中的元素的值。

在 PHP 的 foreach() 迴圈中獲取第一個和最後一個元素

有幾種方法可以在 PHP 在迴圈中獲取第一個和最後一個元素,並且在不同版本上方法也是不同的。

這些方法包括,通過使用計數器(適用於所有版本),適用於 PHP 7.3 的 array_key_first()array_key_last()

在 PHP foreach 迴圈中使用計數器

新增一個整數變數並將計數器放在 foreach() 迴圈的底部。

例:

$array  = array("dog", "rabbit", "horse", "rat", "cat");
$x = 1;
$length = count($array);

foreach($array as $animal){
    if($x === 1){
        //first item
        echo $animal; // output: dog
    }else if($x === $length){
        echo $animal; // output: cat
    }
    $x++;
}

在上面的示例中,動物列表是作為用陣列來儲存的。

然後將 $x 設定為 1 來以啟動計數器。

使用 count() 來確定陣列的總長度。計數器的迭代位於 foreach() 迴圈的底部 - ($x++;),所以 $x == 1 是獲取第一項元素的條件,因為計數器還沒有開始累加。

要獲取最後一項元素,我們來檢查 $x 是否等於陣列的總長度。如果為 true,則它將得到最後一項元素。

在 PHP 迴圈中使用 array_key_first()array_key_last()

使用最新版本的 PHP,獲取陣列中的第一個和最後一個元素變得更加高效。

例如:

$array  = array("dog", "rabbit", "horse", "rat", "cat");
foreach($array as $index => $animal) {
    if ($index === array_key_first($array))
        echo $animal; // output: dog

    if ($index === array_key_last($array))
        echo $animal; // output: cat
}

在上面的示例中,array_key_first() 獲取陣列中第一個元素的鍵值,在本例中為 0

然後,array_key_last() 獲得陣列的最後一個鍵值,在此處的例子中為 5

通過檢查陣列,我們可以得到第一個元素的鍵值為 0,它的值為 dog,而最後一個元素的鍵值/索引為 5,它的值為 cat

相關文章 - PHP Loop

  • 在 PHP 中檢查 foreach 迴圈鍵值
  • 相關文章 - PHP Array

  • 如何在 PHP 中重置陣列