Bv2*_*202 3 language-agnostic for-loop control-structure
假设你有这个代码:
function doSomething($array)
{
for($i = 0; $i < sizeof($array); $i++)
{
if ($array[$i] == "ok")
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
请注意,我不是在谈论特定于PHP(这适用于所有语言)或此特定示例.这是关于打破for循环(在这种情况下,返回true;停止循环).
根据我的老师的说法,这是非常非常糟糕的,也是一种没有做过的练习.
从一个循环中脱离真的是一个没做过的练习?
谢谢
从循环中断或返回是完全正常的.
你的老师可能提到的是经典的一个函数应该只有一个返回点扩展到循环.这背后的基本原理是,您的控制流程应始终尽可能简单易懂.你不必不加思索地遵守这个规则并不严格.
要在不使用break
和重写的情况下重写样本return
:
function doSomething($array)
{
$ret = false;
for($i = 0; $i < sizeof($array) && !$ret; $i++)
{
if ($array[$i] == "ok")
$ret = true;
}
return $ret;
}
Run Code Online (Sandbox Code Playgroud)
阅读和维护是痛苦的.你的更简洁.
归档时间: |
|
查看次数: |
360 次 |
最近记录: |