循环遍历 PHP 中的几个函数

Posted

技术标签:

【中文标题】循环遍历 PHP 中的几个函数【英文标题】:Looping through several functions in 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。 在这使用面向对象编程(类)会更好吗?

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

问候, 乔纳斯

【问题讨论】:

【参考方案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

【讨论】:

以上是关于循环遍历 PHP 中的几个函数的主要内容,如果未能解决你的问题,请参考以下文章

遍历bash中的几个文件[重复]

PHP遍历数组的几种方法

PHP——数组中的each(),list()和while循环遍历数组

遍历数组的几种方法及区别

PHP中使用foreach循环读取数组数据的方法

arcpy怎么遍历数据库中数据集中的要素