函数内部for循环内部if语句内部的返回值

时间:2021-01-01 06:47:53

标签: php for-loop if-statement return return-value

我在下面的代码中的目标是循环遍历 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;
}

2 个答案:

答案 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;
}