PHP - 返回后中断?
Posted
技术标签:
【中文标题】PHP - 返回后中断?【英文标题】:PHP - Break after return? 【发布时间】:2011-11-08 23:47:39 【问题描述】:我需要在这里使用 break 还是会停止循环并只返回一次?
for($i = 0; $i < 5; $i ++)
if($var[$i] === '') return false;
// break;
谢谢!
【问题讨论】:
【参考方案1】:更新:
php 7 需要return
。不需要break;
,因为循环在return
结束。
break;
通常在您找到所需项目时用于切换或循环。
示例:
$items = ['a' , 'b' , 'c'];
foreach($items as $item)
if($item == 'a')
return true; // the foreach will stop once 'a' is found and returns true.
return false; // if 'a' is not found, the foreach will return false.
或:
$items = ['a' , 'b' , 'c'];
foreach($items as $item)
return $item == 'a'; // if 'a' is found, true is returned. Otherwise false.
【讨论】:
return
有效。简单示例:$items = ['a' , 'b' , 'c']; foreach($items as $item) echo $item; if($item == 'a') return true;
感谢@EGurelli。我已经添加并编辑了您的示例。【参考方案2】:
如果您使用return
,您的函数(或整个脚本)将返回 - 之后的所有代码都不会执行。所以回答你的问题:这里不需要break
。但是,如果break
没有在此处注释掉,则循环将在一次迭代后停止。这是因为您的 if 语句不使用大括号 ( ...
),因此它仅涵盖 return
语句(换句话说:您的示例中的 break
始终被执行)。
【讨论】:
【参考方案3】:它将只运行一次,停止循环,并退出函数/方法。
可以说这是一种不好的风格。后面很容易忽略return
,不利于调试和维护。
使用break
可能更简洁:
for($i = 0; $i < 5; $i ++)
if($var[$i] === '')
set_some_condition;
break;
if (some_condition)
return;
【讨论】:
以上是关于PHP - 返回后中断?的主要内容,如果未能解决你的问题,请参考以下文章
PHP后台作业到ubuntu xampp服务器,60-70分钟后被服务器中断
51单片机串口中断函数响应并返回后主函数运行到末尾后卡着不动,主函数无法循环了