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

标签 php loops foreach

问题很简单。我的代码中有一个 foreach 循环:

foreach($array as $element) {
    //code
}

在这个循环中,我想在第一次或最后一次迭代时做出不同的 react 。

如何做到这一点?

最佳答案

如果您更喜欢不需要在循环外初始化计数器的解决方案,那么您可以将当前迭代键与告诉您数组的最后/第一个键的函数进行比较。

PHP 7.3 及更新版本:

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

    if ($key === array_key_last($array)) {
        echo 'LAST ELEMENT!';
    }
}

PHP 7.2 及更早版本:

PHP 7.2 已经 EOL(生命终结),所以这里只是作为历史引用。避免使用。

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

    end($array);
    if ($key === key($array)) {
        echo 'LAST ELEMENT!';
    }
}

关于PHP如何确定foreach循环中的第一次和最后一次迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1070244/

相关文章:

javascript - PHP - Jquery,在每行下方显示快速详细信息 slider

php - MySql 表架构性能问题

refactoring - 可怕的 While (True) 循环的最佳重构

php - php中的foreach循环问题

php - PHP代码从SQL数据库的查询结果打开URL

Java:增强的 for 循环,数组大小未知

loops - 如何使用特定的按键输入中断 CMD 批处理文件中的循环?

Java iterate/foreach 包含 hashmap/map<Int, Int> 的 ArrayList

c++ - std::string 和字符串文字之间的不一致

PHP htaccess 代替 $_GET