PHP - 返回后休息?

时间:2011-09-02 08:05:26

标签: php for-loop return break

我需要在这里使用break还是会停止循环并返回一次?

for($i = 0; $i < 5; $i ++) {
    if($var[$i] === '') return false;
    // break;
}

谢谢!

3 个答案:

答案 0 :(得分:17)

它只运行一次,停止循环,退出函数/方法。

虽然这是不好的风格,但可以说是有争议的。很容易忽略return以后的调试和维护。

使用break可能更干净:

for($i = 0; $i < 5; $i ++) {
    if($var[$i] === '')
     { set_some_condition; 
       break;
     }
}

if (some_condition)
 return;

答案 1 :(得分:11)

如果您使用return,您的函数(或整个脚本)将返回 - 之后的所有代码都将无法执行。所以回答你的问题:这里不需要break。但是,如果此处未注释break,则循环将在一次迭代后停止。那是因为你的if语句不使用大括号({ ... })所以它只包含return语句(换句话说:你的例子中的break总是被执行)。

答案 2 :(得分:6)

更新

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.
}