> 백엔드 개발 > PHP 튜토리얼 > PHP,有什么简便的方法,判断提交的某字段不为空?

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

WBOY
풀어 주다: 2016-06-06 20:48:37
원래의
1236명이 탐색했습니다.

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

回复内容:

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

提交的某字段啊!一定是_POST_GET甚至_REQUEST,而不是单纯讨论$var啊!

要防三个情况:

  1. 提交中根本没有这个字段(如果不处理,下标不存在将直接引发运行时错误)
  2. 提交的字段为空
  3. 提交的字段trim()之后为空

如果是原生的PHP,我推荐的步骤如下:

  1. 原则是先预处理$_POST
  2. $_POST中所有元素的首尾空格剥了。
  3. $_POST中的所有空元素扔了。
  4. 这样,数组中幸存的元素,就都不是空的。判断元素是否存在即可。

注意第二和第三步,千万不要傻傻的用foreach自己循环,最好是使用数组函数里的几个遍历函数。代码:

<code class="lang-php">$_POST = array_map('trim', $_POST);
$_POST = array_filter($_POST);
$result = array_key_exists('fieldname', $_POST);
if ($result) {
    // do whatever you wish
}
</code>
로그인 후 복사

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

<code>if(trim($var) != ''){
    // code here
}
</code>
로그인 후 복사

<code class="lang-php">if(!empty($var)){
    //code here
}
</code>
로그인 후 복사

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

<code class="lang-php">if( isset( $_GET['password'] ) ) {
    // do something
}
</code>
로그인 후 복사
관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿