我需要创建一个foreach语句,该语句将贯穿并为条件语句创建条件。我写了这段代码,没想到它能正常工作,当然没有……

$filename = "whitelist.txt";
$handle = fopen($filename, 'r');
$whitelist = fread($handle, filesize($filename));
fclose($handle);
$whitelist = explode("\n", $whitelist);
if (
  foreach ($whitelist as $value) {
    strpos($ref, 'http://'.$value.'/')===0 ||
  }
)

那么,这应该能够工作吗?还是我只是疯了?如果确实没有办法在这种情况下陷入困境,那么有人可以建议一种更好的方法来做到这一点吗?非常感激!

最佳答案

预先计算值,不能将循环用作表达式:

$val = false;

foreach ($whitelist) {
   $val = $val || strpos($ref, 'http://'.$whitelist.'/')===0;
}

if($val) {
    // ...
}

关于php - 在if条件中放置一个foreach循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3591376/

10-11 05:50