提交的某字段,一定是_POST、_GET甚至_REQUEST,而不是单纯讨论$var。
要防三个情况:
1.提交中根本没有这个字段(如果不处理,下标不存在将直接引发运行时错误)
2.提交的字段为空
3.提交的字段trim()之后为空
如果是原生的PHP,我推荐的步骤如下:
1.原则是先预处理$_POST。
2.把$_POST中所有元素的首尾空格剥了。
3.把$_POST中的所有空元素扔了。
4.这样,数组中幸存的元素,就都不是空的。判断元素是否存在即可。
注意第二和第三步,千万不要傻傻的用foreach自己循环,最好是使用数组函数里的几个遍历函数。代码:
$_POST = array_map('trim', $_POST);
$_POST = array_filter($_POST);
$result = array_key_exists('fieldname', $_POST);
if ($result) {
// do whatever you wish
}
这样足够简便了,不过带来的问题是可移植性差(因为需要依赖前边做过的预处理)。如果想要可移植性又好,看着又简单,判断又全面的,自己写函数去吧。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。