PHP - 返回后休息?

hea*_*der 23 php for-loop return break

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

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

谢谢!

Pek*_*ica 18

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

可以说,这是不好的风格.return稍后很容易忽略,这对于调试和维护是不利的.

使用break可能更清洁:

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

if (some_condition)
 return;
Run Code Online (Sandbox Code Playgroud)


Rij*_*ijk 13

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


Ron*_*ing 10

更新:

PHP 7需要一个return.break;不需要A ,因为循环结束return.

break;只要找到所需物品,通常会在开关或循环中使用A.

例:

$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.
}
Run Code Online (Sandbox Code Playgroud)