백엔드 개발 PHP 튜토리얼 php容易被异常使用的empty函数

php容易被异常使用的empty函数

Jun 13, 2016 pm 01:02 PM
empty get trim var

php容易被错误使用的empty函数

?

在php的官方手册中写道,

?

检查一个变量是否为空。
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。?

?

随后在其手册中郑重说明了,

?

empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。 ?

empty用来检测变量是否为空,这在网站编程中经常会使用到,比如,我们在前台页面提交了用户的用户名,这时,我们需要判断是否为空,如果为空的话,让他重新提交,这时我们需要用到函数trim,即过滤掉两边的空格,然后用empty检测。

?

if  (empty(trim($_GET['username'])) { …}
로그인 후 복사

?

但是,当我们运行这段代码的时候,却报错了。原因就在于“empty() 只检测变量”,而trim返回的确实值,不是变量。所以empty执行到这儿的时候报错了。修改方法也很简单,第一种方法:

?

if  (trim($_GET['username'] == ’‘) { …}
로그인 후 복사

?

第二种方法,增加中间变量:

?

$username = trim($_GET['username']);
if  (empty($username)) { …}
로그인 후 복사
?

推荐的方法是,在项目中使用验证框架来解决这个问题。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PowerShell을 사용하여 작업을 자동화하는 방법 PowerShell을 사용하여 작업을 자동화하는 방법 Feb 20, 2024 pm 01:51 PM

PowerShell을 사용하여 작업을 자동화하는 방법

Java는 어떻게 http 요청을 시작하고 게시물을 호출하고 인터페이스를 얻습니까? Java는 어떻게 http 요청을 시작하고 게시물을 호출하고 인터페이스를 얻습니까? May 16, 2023 pm 07:53 PM

Java는 어떻게 http 요청을 시작하고 게시물을 호출하고 인터페이스를 얻습니까?

실용적인 팁: PHP에서 트림 기능을 사용하여 중국어 공백을 처리하는 방법 실용적인 팁: PHP에서 트림 기능을 사용하여 중국어 공백을 처리하는 방법 Mar 27, 2024 am 11:27 AM

실용적인 팁: PHP에서 트림 기능을 사용하여 중국어 공백을 처리하는 방법

PHP는 지정된 키가 배열에 존재하는지 확인합니다. PHP는 지정된 키가 배열에 존재하는지 확인합니다. Mar 21, 2024 pm 09:21 PM

PHP는 지정된 키가 배열에 존재하는지 확인합니다.

PHP에서 var 키워드의 역할과 예 PHP에서 var 키워드의 역할과 예 Jun 28, 2023 pm 08:58 PM

PHP에서 var 키워드의 역할과 예

Windows 11에서 오디오 서비스가 응답하지 않는 문제를 해결하는 18가지 방법 Windows 11에서 오디오 서비스가 응답하지 않는 문제를 해결하는 18가지 방법 Jun 05, 2023 pm 10:23 PM

Windows 11에서 오디오 서비스가 응답하지 않는 문제를 해결하는 18가지 방법

Curl Get 명령의 예 Curl Get 명령의 예 Mar 20, 2024 pm 06:56 PM

Curl Get 명령의 예

PHP에서 Trim() 함수 사용 가이드 PHP에서 Trim() 함수 사용 가이드 Feb 20, 2024 am 08:39 AM

PHP에서 Trim() 함수 사용 가이드

See all articles