有没有什么方法可以满足大量(600+)条件

时间:2015-12-07 23:23:19

标签: php

我需要将PHP变量与600+静态值进行比较。

例如, $ validpostcode是一个变量。并且有600多个有效的邮政编码。

现在我需要检查邮政编码列表中是否存在$ validpostcode。 比较最好的方法是什么?

2 个答案:

答案 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_arrayarray_intersect但它们比检查是否有钥匙更重。

你走了:

$codes = array_fill_keys(array('code1', 'code2'), 0);
$tocheck = 'code1';
if (isset($codes[$tocheck])) {
      echo 'valid';
} else {
      echo 'nope';
}

参考执行时间测试比较:Faster array lookup