我有一个if / else结构。
首先检查以查看舞台的价值。我已经为你说明了3级深度的逻辑结构,但它可以变为10 ......每次从一个阶段移动到下一个阶段我们将检查次数加倍。
阶段有2个分支
下一阶段检查有4个
下一阶段有8个
依旧......
对于每个阶段(标识符),我正在调用一些函数。 然后将这些函数的值传递给下一个if / else(它检查从函数中提取的值)并执行下一次计算。
这个想法是用户输入第一个if / else,然后它进入该分支。值一直在进行。有没有办法随身携带一个值,并且一旦标志的值("舞台"在这种情况下)发生变化,就会以不同的方式进行?
然后对于第一阶段= 0检查,重复相同的逻辑:
如何在不必编写如此多的if / else检查的情况下复制相同的逻辑?
答案 0 :(得分:0)
我在想这样的事情:
completed = "0";
if($function_flag=="0") { $data = $original_data; }
do
{
$data = $data_from_function;
if($stage=="0") {
...call function A...
if($function_flag=="1") { completed = "1"; }
}
if($stage=="1") {
...call function B...
if($function_flag=="1") { completed = "1"; }
}
}
while($completed=="0")
答案 1 :(得分:0)
我不确定这是否能回答你的问题,但上述内容可以简化为
if (stage == 1 || stage == 0) { // really necessary? only if stage can have other values
for (int i = 0; i < 3; i++) {
if (stage == 1) {
functionA();
functionB();
functionC();
}
else {
somethingElse();
}
}
}