循环遍历 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 中的几个函数的主要内容,如果未能解决你的问题,请参考以下文章