【问题标题】:conditional while loop in php?php中的条件while循环?
【发布时间】:2023-03-05 13:24:02
【问题描述】:

我需要做一个 PHP while 循环,但前提是变量为真。而且我不能真正将 while 循环放在“if”语句中,这似乎是显而易见的事情,因为代码块很大,而且会很丑陋和令人困惑。我是否需要将循环中的代码分解为一个函数,还是有更简单的方法来处理这个问题?

这是基本的想法:

if(condition){
  while(another_condition){
    //huge block of code loops many times
  }
} else {
  // huge block of code runs once
}

我希望无论条件变量的状态如何都可以执行大量代码 - 但如果条件为假,则只执行一次,如果条件为真,则只要 another_condition 为真就执行。

以下代码不起作用,但给出了我想要完成的想法:

if(condition){ while(another_condition){ }
  // huge block of code
if (condition){ } } // closes the while loop-- obviously throws an error though!

提前致谢。

【问题讨论】:

    标签: php loops while-loop


    【解决方案1】:

    如果我正确理解您的问题,您可以使用do ... while() 结构:

    do
    {
        // your code
    } while(condition);
    

    无论任何因素,这将执行一次// your code,然后仅在第二次迭代中执行,之后的迭代将检查条件。

    【讨论】:

    • 我是个白痴。这是他所要求的,打得很好。除了将“条件”更改为“另一个条件”
    【解决方案2】:

    这就是你要找的吗?

    while (condition && another_condition) {
       // large block of code
    }
    if (!condition) {
       // do something else
    }
    

    【讨论】:

    • 圣约翰就是这样!谢谢伙计,我想过并尝试了一个 do_while 循环,但没有考虑在语句中放置两个条件。谢谢!
    • 哦,所以我猜它的样子是这样的:do { // 巨大的代码块 } while (condition && another_condition) 所以如果条件为假,它只执行一次。_
    【解决方案3】:

    如果您的大块代码可以分成几个专门的功能,那么为了便于阅读,请这样做。如果您以后需要调试,它肯定会得到回报。

    【讨论】:

      【解决方案4】:

      我会将大量代码放在一个函数中,这样就可以再次使用它而不会产生重复的代码。

      function hugeBlockOfCode() {
        // Huge block of code.
      }
      
      while (condition && another_condition) {
        hugeBlockOfCode();
      }
      
      if (!condition) {
        // Run code once.
        hugeBlockOfCode();
      }
      

      do {
        hugeBlockOfCode();
      } while (another_condition);
      

      【讨论】:

        猜你喜欢
        • 2012-12-19
        • 1970-01-01
        • 1970-01-01
        • 2012-11-05
        • 2017-06-18
        • 2015-02-27
        • 2012-09-09
        • 2016-11-27
        • 1970-01-01
        相关资源
        最近更新 更多