我需要进行PHP while循环,但前提是变量为true。而且我不能把while循环放在一个“if”语句中,这似乎是显而易见的事情,因为代码块是巨大的,它将是丑陋和混乱。我是否需要将循环中的代码分解为函数,还是有更简单的方法来处理它?</ p>
这是基本想法:
if(condition){
while(another_condition){
//huge block of code loops many times
}
} else {
// huge block of code runs once
}
我希望无论条件变量的状态如何都要执行巨大的代码块 - 但是如果condition为false则只执行一次,并且如果condition为true,则执行for another_condition为真。
以下代码不起作用,但会了解我想要完成的任务:
if(condition){ while(another_condition){ }
// huge block of code
if (condition){ } } // closes the while loop-- obviously throws an error though!
提前感谢。
答案 0 :(得分:8)
如果我正确理解您的问题,您可以使用do ... while()
结构:
do
{
// your code
} while(condition);
无论任何因素如何,这都将执行// your code
一次,然后仅针对第二次迭代以及之后检查条件。
答案 1 :(得分:3)
为了便于阅读,如果你的巨大代码块可以在几个专用函数中分开,那就去做吧。如果您以后需要调试,肯定会付出代价。
答案 2 :(得分:2)
我会将大量代码放在一个函数中,这样它就可以在没有重复代码的情况下再次使用。
function hugeBlockOfCode() {
// Huge block of code.
}
while (condition && another_condition) {
hugeBlockOfCode();
}
if (!condition) {
// Run code once.
hugeBlockOfCode();
}
或
do {
hugeBlockOfCode();
} while (another_condition);
答案 3 :(得分:1)
这是你想要的吗?
while (condition && another_condition) {
// large block of code
}
if (!condition) {
// do something else
}