Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我可以在使用函数循环时结束吗?_Php_Function_While Loop - Fatal编程技术网

Php 我可以在使用函数循环时结束吗?

Php 我可以在使用函数循环时结束吗?,php,function,while-loop,Php,Function,While Loop,我试着用谷歌搜索这个,我想这是做不到的,但我还是要问一下。 如果我有while循环 while ($smth > 1) { func(); } 有没有一种方法可以让函数在while循环中立即退出? 也许那个函数返回了停止循环的东西? 我试过了 但是这不起作用。你不可能用这种方式来做——你不能休息。但您可以返回一个值,该值可能会发出退出循环的信号 function func() { return true } 然后 while($smth > 1) { if(func(

我试着用谷歌搜索这个,我想这是做不到的,但我还是要问一下。 如果我有while循环

while ($smth > 1)
{
  func();
}
有没有一种方法可以让函数在while循环中立即退出? 也许那个函数返回了停止循环的东西? 我试过了


但是这不起作用。

你不可能用这种方式来做——你不能休息。但您可以返回一个值,该值可能会发出退出循环的信号

function func() {
  return true
}
然后

while($smth > 1) {
  if(func()) break;
}

这将运行函数,但它也将检查其返回值,以验证它不需要退出循环。如果函数返回true,则满足
If
语句,因此将发生
break
。如果函数没有显式返回,则不会满足
If

您可以通过抛出异常从函数内部退出while循环。但是,您的队友将不再喜欢您。

您可以从函数中返回一个值(可能是布尔值),然后检查返回值。如果(func(){break;}您需要返回一些内容。旁注:你不需要“休息”和“返回”;后者停止执行脚本以进一步运行。你说这不管用;这是您的实际代码还是我们需要了解/查看其他内容?@FunkFortyNiner函数是从
while
循环中调用的,因此
return
将停止函数,而不是循环。@Max Right,因此可能是
while true{…}..
?>编辑或
边做边编辑。@Max Strike^我误解了这个问题。但这不是开始,呵呵。
while($smth > 1) {
  if(func()) break;
}