素材牛VIP会员
PHP,有什么简便的方法,判断提交的某字段不为空?
 何***孽  分类:PHP代码  人气:871  回帖:4  发布于6年前 收藏

PHP,有什么简便的方法,判断提交的某字段不为空?

 标签:php

讨论这个帖子(4)垃圾回帖将一律封号处理……

Lv6 码匠
Ga***er 软件测试工程师 6年前#1
if(!empty($var)){
    //code here
}
Lv3 码奴
空***子 职业无 6年前#2

提交的某字段啊!一定是_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
}

这样足够简便了,不过带来的问题是可移植性差(因为需要依赖前边做过的预处理)。如果想要可移植性又好,看着又简单,判断又全面的,自己写函数去吧。

Lv1 新人
风***扬 Web前端工程师 6年前#3
if(trim($var) != ''){
    // code here
}
Lv2 入门
he***ba JS工程师 6年前#4

个人比较喜欢用isset()判断,全搞定。

if( isset( $_GET['password'] ) ) {
    // do something
}
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取