【问题标题】:Can i end While loop with function?我可以用函数结束 While 循环吗?
【发布时间】:2018-12-29 19:33:34
【问题描述】:

我试图用谷歌搜索这个,我认为它不能完成,但我还是要问。 如果我有while循环?

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

有没有一种方法可以让我立即退出 while 循环,并在其中包含该函数? 也许该函数返回停止循环的东西? 我试过了

func(){ 
return break;}

但这不起作用。

【问题讨论】:

  • 您可以从函数返回一个值(可能是布尔值)并检查返回。即'if(func()){break; }
  • 您需要退货。旁注:您不需要带有“return”的“break”;后者停止执行脚本以进一步运行。你说它不起作用;这是您的实际代码还是我们需要了解/查看的其他内容?
  • @FunkFortyNiner 该函数是从while 循环中调用的,因此return 将停止该函数,而不是循环。
  • @Max 对,所以也许是while true{...} ....? >编辑或do while
  • @Max Strike ^ 我误解了这个问题。虽然不是开始,呵呵。

标签: php function while-loop


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    按照您的方式是不可能的——您不能返回休息时间。但是你可以返回一个可以表示退出循环的值。

    function func() {
      return true
    }
    

    然后

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

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

    【讨论】:

      猜你喜欢
      • 2015-09-08
      • 1970-01-01
      • 2018-09-01
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-15
      相关资源
      最近更新 更多