PHP-如何在不降低速度的情况下获取和处理大量变量

PHP-如何在不降低速度的情况下获取和处理大量变量,php,performance,get,Php,Performance,Get,我的网站有一个“简单”的搜索表单,其中有4个可选参数随GET一起发送。 对URL中的每个变量进行处理,以动态构建一个准备好的语句SELECT查询 因此,对于每个可选变量,我执行以下操作: if(!empty($_GET['gm'])) { $value[]=$_GET['gm']; $queryPart[] = 'gm=?'; $type[]='i'; // Check if Integer, string etc } 我对此没有问题,但现在我正在使用一个“高级”搜索表单,它有30多个可选参数

我的网站有一个“简单”的搜索表单,其中有4个可选参数随GET一起发送。 对URL中的每个变量进行处理,以动态构建一个准备好的语句SELECT查询

因此,对于每个可选变量,我执行以下操作:

if(!empty($_GET['gm'])) {
$value[]=$_GET['gm'];
$queryPart[] = 'gm=?';
$type[]='i'; // Check if Integer, string etc
}
我对此没有问题,但现在我正在使用一个“高级”搜索表单,它有30多个可选参数,我不认为使用30多个“如果”在性能方面会成功

我想使用,但是我仍然需要检查数组中每个变量的存在性,但是使用简单的“ifs”更好吗? 那么,在这种情况下,最佳做法是什么


谢谢大家!

你的if语句不应该像你想象的那样让你慢下来。在编码方面,我会使用parse_url,只是为了干净


如果所有不同的选项都可以单独使用,那么所有的“如果”可能是您的最佳选择。但是,如果某些选项相互依赖,您可以将它们组合到GET中的单个标志中,以便检查。

30如果语句在“性能”方面完全可以忽略不计。(这是否是编写可理解和可维护代码的好方法,将是另一个问题。例如,您可以使用循环中经过的参数名数组,然后检查每个参数名是否存在……)30不是那么多,我严重怀疑解析输入是否是操作中最昂贵的部分。是什么让你认为解析30个参数会很昂贵?