遗憾的是,这是唯一的方法。但是有一些方法可以处理更大的数组。例如这样的事情:
$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') ,而不必担心未设置密钥。
Update
另一种清理代码的方法是使用一个函数来检查该值是否已设置。
function getValue($key) {
if (!isset($_GET[$key])) {
return false;
}
return $_GET[$key];
}
if (getValue('myvar') == 'something') {
// Do something
}