我可以在PHP中终止foreach循环吗

我可以在PHP中终止foreach循环吗,php,loops,foreach,Php,Loops,Foreach,给定的代码段(带和不带;)之间是否有任何差异: 及 实际上,它们都给出相同的输出。因此,我可以在语句之前终止for each循环。使用时 foreach($errors->get_error_codes() as $error); 它将把上次出现的值存储在$errors->get_error\u codes()中,作为$error,然后检查条件以及是否使用 foreach($errors->get_error_codes() as $error) if( s

给定的代码段(带和不带
)之间是否有任何差异:

实际上,它们都给出相同的输出。因此,我可以在语句之前终止for each循环。

使用时

foreach($errors->get_error_codes() as $error);
它将把上次出现的值存储在
$errors->get_error\u codes()
中,作为
$error
,然后检查条件以及是否使用

foreach($errors->get_error_codes() as $error)
            if( strpos(ucwords(str_replace('_',' ',$error)),'nvalid Username'))
然后,每个
$errors->get\u error\u codes()
值都将作为
$error
并检查条件

简单地

foreach($errors->get_error_codes() as $error);

将循环,但
$error
获取该数组中的最后一个元素

您可以使用中断中断循环并继续如果只想中断当前迭代

则会得到相同的输出,因为$errors数组只包含一个条目。

foreach($errors->get\u error\u codes()as$error)

此行将存储
$error
变量中的最后一个元素,并且没有{}块

不是每个人都知道这种行为,它可能会导致意外的结果

另一行只影响下一行,因为没有由{}确定的代码块

您可以使用中断来中断循环关键字。您还可以使用continue关键字跳过循环的迭代

foreach($errors->get_error_codes() as $error)
            if( strpos(ucwords(str_replace('_',' ',$error)),'nvalid Username'))
foreach($errors->get_error_codes() as $error);