2011-09-02 42 views

回答

12

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

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

使用break可能是清洁剂:

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

if (some_condition) 
return; 
7

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

2

更新

PHP 7需要return。 A break;不需要,因为循环结束于return

A 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. 
} 
+0

'return'工作。简单的例子: '$ items = ['a','b','c']; foreach($ items as $ item){ echo $ item; ($ item =='a') if($ item =='a') return true; }' – EGurelli

+1

谢谢@EGurelli。我已经添加并编辑了您的示例。 –