基本上我想实现连续执行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。 在这个中使用面向对象的编程(类)会更好吗?
基本上我只需要建议,如何以适当的方式做到这一点:)
此致 纳斯
答案 0 :(得分: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);
}
答案 1 :(得分:0)
您可以将函数调用基于上一个函数return
示例:
function one() {
if()...
return 'run function two';
else
return 'run function four';
}
答案 2 :(得分:0)
$step=1; while($step < 99){ switch ($step){ case 1: $step=function_1(); break; case 2: $step=function_2(); break; case 3: $step=function_3(); break; ... case 9: $step=function_9(); break; default: $step=99; } }
答案 3 :(得分:0)
使用“变量函数”或“call_user_func()函数”。我没有时间解释它,请谷歌关键字。
答案 4 :(得分:0)
你为什么需要这样做?如果在调用function_5()之后调用function_3()然后它会通过对function_5()的检查,你是否说$ a的结果会有所不同?
您可能需要重新考虑您的逻辑。
顺便说一下,不要使用短标签。写出
<?php