如何在'if'中嵌套'for'语句?

In a PHP project I am working on right now, I have some code similar to this:

$allVarsTrue = TRUE;

if ($foo && $bar) {
  for ($x=1;$x<=5;$x++) {
    if (!somerandomtest($x)) {
      $allVarsTrue = FALSE; // if $x fails the test, $allVarsTrue is set to false
    }
  }
} else { // if either $foo and $bar is false, $allVarsTrue is set to false
  $allVarsTrue = FALSE; 
}

if ($allVarsTrue) {
  echo "True";
} else {
  echo "False";
}

I would like to write this more succinctly, something like this

// This code does not work.
if ($foo &&
    $bar &&
    for ($x=1;$x<=5;$x++) {
      somerandomtest($x);
    }) {
  echo "True";
} else {
  echo "False";
}

How can I rewrite the existing code more succinctly?

One option is to move your loop into its own function:

function performTests() {
  for(…) { if(!test(…)) return FALSE; } # return early, no need to iterate over remaining items
  return TRUE;
}

if($foo && $bar && performTests()) {
  …
} else {
  …
}

You can't really. However, you can break the for loop as soon as first test is failed

if ($foo && $bar) {
  for ($x=1;$x<=5;$x++) {
    if (!somerandomtest($x)) {
      $allVarsTrue = FALSE; // if $x fails the test, $allVarsTrue is set to false
      break; //no point in firther iterating
    }
  }
} else { // if either $foo and $bar is false, $allVarsTrue is set to false
  $allVarsTrue = FALSE; 
}

Wrap it in a function:

function testStuff($foo, $bar){
    if (!$foo || !$bar) {
        return FALSE;
    }
    for ($x=1;$x<=5;$x++) {
        if (!somerandomtest($x)) {
            return FALSE;
        }
    }
    return TRUE;
}

And then:

if (testStuff($foo, $bar)) {
  echo "True";
} else {
  echo "False";
}