可悲的是,这是唯一的办法。但是有一些处理较大数组的方法。例如这样的东西:
$required = array('myvar', 'foo', 'bar', 'baz');
$missing = array_diff($required, array_keys($_GET));
变量$ missing现在包含所需的值列表,但$ _GET数组中缺少值。您可以使用$ missing数组向访问者显示一条消息。
或者你可以使用这样的东西:
$required = array('myvar', 'foo', 'bar', 'baz');
$missing = array_diff($required, array_keys($_GET));
foreach($missing as $m ) {
$_GET[$m] = null;
}
现在每个必需元素至少具有默认值。现在可以使用if($ _ GET [‘myvar’] ==’something’),而不必担心该键未设置。
更新
清理代码的另一种方法是使用一个检查值是否设置的函数。
function getValue($key) {
if (!isset($_GET[$key])) {
return false;
}
return $_GET[$key];
}
if (getValue('myvar') == 'something') {
// Do something
}