我在下面的代码中的目标是循环遍历 IF 语句,如果 IF 语句在所有迭代中都成立,则让函数返回 True 值?如果在任何迭代期间评估为假,我想立即返回假。我写的对吗?我对 IF 语句中的操作顺序感到困惑。有没有更简单更优雅的方式来写这个?
function checkGroup($groupNum, $names, $namesNow, $$group, $groupSize, $i){
for ($m=0; $m < count($$group); ++$m){
//checks to make sure current person doesn't conflict with anyone else in current group
if ($namesNow[$names[$i]][$$group[$m]] < $max ){
continue;
}
else {
return false;
break;
}
}
return true;
}
答案 0 :(得分:1)
为什么不试试这个,还原if条件
function checkGroup($groupNum, $names, $namesNow, $$group, $groupSize, $i){
for ($m=0; $m < count($$group); ++$m){
//checks to make sure current person doesn't conflict with anyone else in current group
if ($namesNow[$names[$i]][$$group[$m]] >= $max ){
return false;
}
}
}
return true;
}
答案 1 :(得分:0)
你实际上可以做这样的事情
function checkGroup($groupNum, $names, $namesNow, $group, $groupSize, $i){
$ret = true;
for ($m=0; $m < count($group); ++$m /* or $m++? */){
//checks to make sure current person doesn't conflict with anyone else in current group
if (!($namesNow[$names[$i]][$group[$m]] < $max)){
$ret = false;
break;
}
}
return $ret;
}