跳出 PHP 中的 Foreach 循环

Olorunfemi Akinlua 2024年2月15日
  1. PHP 中的 foreach 循环
  2. 在 PHP 中使用 break 语句跳出 foreach 循环
跳出 PHP 中的 Foreach 循环

作为开发人员,我们使用 break 语句 来跳出循环并在循环之后的下一条语句处继续。通常,必须为这种情况的发生设定一个条件,但这并不重要。

你经常会在 for 循环、while 循环、switch 语句甚至 foreach 循环中找到中断。因此,要根据某些条件终止任何循环,特别是在迭代次数未知的情况下,使用 break

在本文中,我们将考虑如何将 break 语句合并到 foreach 循环中、用例以及不要忘记的事情。

PHP 中的 foreach 循环

在我们了解如何使用 break 语句之前,让我们简单回顾一下 foreach 循环。与 for 循环不同,我们事先知道要迭代多少次,foreach 循环通过数组指针迭代并遍历数组并将每个数组元素分配给数组变量。

假设我们正在查找数组中的数字、值或字符串,但不知道该元素在数组中的位置,并且需要将其用于其他操作。一旦找到我们需要的数字、值或字符串,我们就可以使用 break 语句离开循环。

示例代码:

<?php
$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $value) {
    echo "$value <br>";
}
?>

输出:

red <br>green <br>blue <br>yellow <br>

在 PHP 中使用 break 语句跳出 foreach 循环

下图描述了 break 语句如何在 foreach 循环中工作。foreach 循环遍历每个数组元素并将其分配给循环声明中声明的变量。

foreach 循环流程图

在每次迭代中,循环代码块使用数组指针指向的当前元素并测试将执行 break 操作的条件。如果条件为真,则代码跳出循环,如果为假,则继续进行下一次迭代。

现在,了解 break 语句的工作方式,让我们考虑一个简单的 foreach 示例。

<?php
foreach (array('1','2','3') as $first) {
    echo "$first ";
    foreach (array('3','2','1') as $second) {
        echo "$second ";
        if ($first == $second) {
            break;  // this will break both foreach loops
        }
    }
    echo ". ";  // never reached!
}
echo "Loop Ended";
?>

输出:

1 3 2 1 . 2 3 2 . 3 3 . Loop Ended

我们遍历上面代码中的每个元素,并使用当前元素在 foreach 循环中执行块代码。

我们可以在 foreach 循环中使用 break 语句来处理任何类型的数组,例如关联数组。在这里,一旦 $x 到达中间数组元素,它就会停止 foreach 循环。

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

foreach($age as $x => $val) {
    echo "$x = $val<br>";
    if ($x == "Ben") {
        break;
    }
}
?>

输出:

Peter = 35<br>Ben = 37<br>

请记住,条件对于成功的 break 操作很有用。

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

相关文章 - PHP Loop