问题很简单。我的代码中有一个 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/