我正在摆弄一个搜索表单,我已经设法串起来了。总共可以输入28个值,包括复选框和选择选项。所以我用不同的变量重复这个代码28次,有没有更短的方法来做到这一点,它在我的代码中看起来很讨厌,这让我相信我做的事情非常错误。以下是我的代码示例:
$search_shop_name = '';
if(isset($_GET['search_shop_name'])) {
$search_shop_name = $_GET['search_shop_name'];
}
else {
$search_shop_name = '';
}
对于一个输入,这只是一段代码,想象一下这段代码的长度和草率。任何意见,将不胜感激。感谢
答案 0 :(得分:3)
使用filter_input()
[docs]。它会将您的代码缩短为一行:
$search_shop_name = filter_input('search_shot_name', INPUT_GET);
或者做这样的事情:
// put your default values here
$defaults = array(
'search_shop_name' => '',
'other_value' => '',
...
);
// merge $_GET in default values
$input = array_merge($defaults, $_GET); // or $_GET + $defaults
// you are done
$search_shop_name = $input['search_shop_name'];
答案 1 :(得分:1)
您可以简单地执行以下操作,而不是使用所有这些条件:
$search_shop_name = $_GET['search_shop_name'];
如果未设置$_GET
值,则$search_shop_name
将为空字符串。