【问题标题】:Looping through several functions in PHP循环遍历 PHP 中的几个函数
【发布时间】:2010-10-07 20:04:20
【问题描述】:

基本上我想实现这样的功能,即连续执行 5-10 个函数(像往常一样)。但是,如果收到特定的返回,我希望脚本后退几步(例如从第 5 步回到第 3 步)并继续进一步(如 4、5、6、7、8、9、10)。示例:

<?
function_1st();
function_2nd();
function_3rd();
function_4th();
$a = function_5th();
if($a == '3') //continue from 3rd further;
function_6th();
function_7th();
?>

就像在这种情况下,它应该是 1,2,3,4,5,3,4,5,6,7,8,9,10。 在这使用面向对象编程(类)会更好吗?

基本上我只需要建议,如何以适当的方式做到这一点:)

问候, 乔纳斯

【问题讨论】:

    标签: php class function loops continue


    【解决方案1】:

    将所有功能包装在一个开关中,例如:

    function run($n) {
        switch($n) {
          case 1: $a = func1(); break;
          case 2: $a = func2(); break;
          case 3: $a = func3(); break;
          case 4: $a = func4(); break;
          case 5: $a = func5(); break;
          case 6: $a = func6(); break;
          case 7: $a = func7(); break;
          case 8: $a = func8(); break;
          case 9: $a = func9(); break;
          default: return $a;
        }
        run($a ? $a : $n+1);
    }
    

    【讨论】:

    • 您需要添加默认值以防止无限循环:default: return $a;
    • 是的 - 只是给出这个想法,但是.. ...我应该在发布之前进行 QA-ed! .. 谢谢!
    【解决方案2】:

    您可以将函数调用基于前一个函数返回

    例子:

    function one() {
       if()...
          return 'run function two';
       else 
          return 'run function four';
    }
    

    【讨论】:

      【解决方案3】:
      $步=1; 而($步

      【讨论】:

        【解决方案4】:

        使用“变量函数”或“call_user_func() 函数”。我没有时间解释它,请谷歌搜索关键字。

        【讨论】:

          【解决方案5】:

          您为什么需要这样做?你是说 $a 在调用 function_5() 之后调用 function_3() 的结果会有所不同,然后它将通过对 function_5() 的检查吗?

          您可能需要重新考虑您的总体逻辑。

          顺便说一句,不要使用短标签。写出来

          <?php
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-07-10
            • 1970-01-01
            • 1970-01-01
            • 2011-05-23
            • 2012-11-14
            • 2011-04-25
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多