PHP-如果(isset)检查多次(很多)-有捷径吗

PHP-如果(isset)检查多次(很多)-有捷径吗,php,isset,Php,Isset,我有一个页面,需要很多$\u GET参数,但并不总是保证所有这些参数都能被使用。所以我现在收到很多关于未定义变量的警告。我显然需要检查它是否设置了isset,这样我就避免了警告,但我确实有80个 举个例子,只展示了几个(但它们远不止这些,可能有80个) 所以我开始手动操作。。。但是在40岁的时候,我觉得自己很愚蠢,我想如果有更好的方法的话 if (isset($_GET['pt1r5c3'])) { $pt1r5c3 = htmlspecialchars($_GET['pt1r5c3']); }

我有一个页面,需要很多$\u GET参数,但并不总是保证所有这些参数都能被使用。所以我现在收到很多关于未定义变量的警告。我显然需要检查它是否设置了isset,这样我就避免了警告,但我确实有80个

举个例子,只展示了几个(但它们远不止这些,可能有80个)

所以我开始手动操作。。。但是在40岁的时候,我觉得自己很愚蠢,我想如果有更好的方法的话

if (isset($_GET['pt1r5c3'])) {
$pt1r5c3 = htmlspecialchars($_GET['pt1r5c3']);
}
if (isset($_GET['pt1r6c1'])) {
$pt1r6c1 = htmlspecialchars($_GET['pt1r6c1']);
}
if (isset($_GET['pt1r6c2'])) {
$pt1r6c2 = htmlspecialchars($_GET['pt1r6c2']);
}
if (isset($_GET['pt1r6c3'])) {
$pt1r6c3 = htmlspecialchars($_GET['pt1r6c3']);
}
if (isset($_GET['pt2r1c1'])) {
$pt2r1c1 = htmlspecialchars($_GET['pt2r1c1']);
}
if (isset($_GET['pt2r1c2'])) {
$pt2r1c2 = htmlspecialchars($_GET['pt2r1c2']);
}
if (isset($_GET['pt2r1c3'])) {
$pt2r1c3 = htmlspecialchars($_GET['pt2r1c3']);
}

好的,感谢评论中的一些提示,我意识到我可以尝试使用一个简单的数组和foreach。因此,经过一些尝试和错误,我设法做到了这一点。希望它能帮助别人

   $tree_variables_array = ['pt1r1c1', 'pt1r1c2', 'pt1r1c3', 'pt1r2c1'];
        
        
    foreach ($tree_variables_array as $var) {
      if(isset($_GET[$var])) {
        $$var = htmlspecialchars($_GET[$var]);
      }
    }

为什么这么多人得到参数?这几乎不可能保持超过某个数量,为什么不迭代它呢?如果您真的需要,您可以拥有这些名称的数组,在数组上循环,并从每个名称创建变量。使用一个循环,就这么简单。如果变量名遵循某种结构,您甚至可以在循环中自动生成它们。@Polygenome我可以举个例子吗?@MartinBurch i仍然需要检查它们是否已设置,对吗?
   $tree_variables_array = ['pt1r1c1', 'pt1r1c2', 'pt1r1c3', 'pt1r2c1'];
        
        
    foreach ($tree_variables_array as $var) {
      if(isset($_GET[$var])) {
        $$var = htmlspecialchars($_GET[$var]);
      }
    }