我需要将PHP变量与600+静态值进行比较。
例如, $ validpostcode是一个变量。并且有600多个有效的邮政编码。
现在我需要检查邮政编码列表中是否存在$ validpostcode。 比较最好的方法是什么?
答案 0 :(得分:0)
如果您将邮政编码作为数组,则可以使用in_array方法,如下所示:
$postcodes = array( // Postcodes here );
$validpostcode = "POSTCODE";
if(in_array($validpostcode, $postcodes)){
//Postcode is in the array
}
祝你好运!
同样是的,如果你每次都必须编写邮政编码,然后将它们存储在数据库中并使用MYSQL查询首先将它们全部存入数组,然后使用上述方法。
答案 1 :(得分:0)
我能想到的最快方法是使用isset()
。当然你可以使用in_array
和array_intersect
但它们比检查是否有钥匙更重。
你走了:
$codes = array_fill_keys(array('code1', 'code2'), 0);
$tocheck = 'code1';
if (isset($codes[$tocheck])) {
echo 'valid';
} else {
echo 'nope';
}
参考执行时间测试比较:Faster array lookup