如何根据东西来改变while循环条件?
这个问题我的意思是,如果,例如,某人的用户名是“bob”,那么while循环条件将是($ i < 10),并且如果用户名是别的东西,那么while循环条件将是$ i> 10)如何根据东西来改变while循环条件?
if($username == "bob")
{
//make this while loop condition: ($i < 10)
// it means: while($i <10){ so stuff}
}
else
{
//make the while loop condition: ($i >10)
}
尝试在if和else块内创建两个不同的while循环。
这是你的意思吗?您可以根据if的成功或失败采取不同的路径。如果里面的代码是相同的,只需调用一个方法来避免重复。
if($username == "bob")
{
//make this while loop condition: ($i < 10)
// it means: while($i <10){ so stuff}
while ($i < 10) {
call_method();
}
}
else
{
while ($i > 10) {
call_method();
}
}
让do_stuff
的功能,那么这是完全可读(虽然特殊外壳“鲍勃”似乎值得怀疑的最好)。
if($username == "bob")
{
while($i<10) {
do_stuff();
}
}
else
{
while($i>10) {
do_stuff();
}
}
以及如果$ username == bob然后我删除while循环但将代码留在里面。如果不是鲍勃,我把while循环... – linkcool 2010-04-26 00:21:01
保持代码简单:
如果($用户名== “鲍勃”) { 而($ I < 10){}
} 其他 { while($ i> 10){ }
}
还有其他更好的方法来处理它,但它们可能会使你的代码难以理解,比如使用我不喜欢的eval。
while(($username == 'bob' && $i <10) XOR $i > 10){}
$username == 'bob'
会,如果它出来是true
然后$i < 10
评估首先评估。
$var1 XOR $var2
是true
只有当$var1, $var2
一个是true
但不能同时使用。
但我自己会去this。
我认为这成为一个设计问题。尝试使用策略模式(谷歌它),你可以在你的界面上有一些方法来指导循环/条件。 – 2010-04-25 22:20:49