如何确定 PHP foreach 循环中的第一次和最后一次迭代

Ralfh Bryan Perez 2023年1月30日
  1. PHP foreach() 语法
  2. 在 PHP 的 foreach() 循环中获取第一个和最后一个元素
如何确定 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 Array