有条件地检查变量是否不等于集合中的任何数字


Conditional to check if a variable is not equal to any number in a set

简单的问题:编写条件的更紧凑的方法是什么,如下所示:

if ($i != 8 && $i != 19 && $i != 23 && $i != 43) ...

我尝试了以下方法,但没有运气:

if  ($i != 8 || 19 || 23 || 43) ...
if ($i != 8 or 19 or 23 or 43) ...

您可以将所有这些数字收集到一个数组中

$set = array(8, 19, 23, 43);

然后使用 in_array() 函数针对集合测试值

if (in_array($i, $set)) { ... }

为此,只需制作像波纹管这样的数字数组

$num = array(8,19,23,43);

并检查in_array如波纹管。

<?php
$num = array(8,19,23,43);
if(!in_array($i,$num)){
echo "here";
}
?>