>  기사  >  백엔드 개발  >  PHP에서 공백, isset, is_null의 사용법과 차이점에 대한 자세한 설명

PHP에서 공백, isset, is_null의 사용법과 차이점에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-05-25 11:07:521883검색

최근 프로젝트의 소스코드를 읽어보니, 빈 함수, isset, is_null 함수(언어 특성)가 소스코드에 무분별하게 사용되고 있는 곳이 분명 있는 것을 발견했습니다. 이러한 사항을 올바르게 이해하지 못하면 후속 개발에 어려움을 겪을 수 있습니다.

1.empty 사용법

bool 비어 있음(혼합 var)
var이 비어 있지 않거나 0이 아닌 값인 경우 비어 있음()은 FALSE를 반환합니다. 즉, "", 0, "0", NULL, FALSE, array(), var $var; 및 속성이 없는 객체는 비어 있는 것으로 간주됩니다. var가 비어 있으면 TRUE가 반환됩니다.

2.isset ()

isset -- 변수가 설정되었는지 확인

Description
bool isset (mixed var [, Mixed var [, ...]])
var가 있으면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
unset()을 사용하여 변수가 해제된 경우 더 이상 isset()이 아닙니다. isset()을 사용하여 NULL로 설정된 변수를 테스트하면 FALSE를 반환합니다. 또한 NULL 바이트("0")는 PHP의 NULL 상수와 동일하지 않습니다.

참고: 변수가 존재하지 않으면 isset() 및 empty()는 오류를 보고하지 않습니다. is_null(), is_numeric()은 오류를 보고합니다.

세 요소 [0,'',null을 구별하는 방법 ] 다음 배열에 있습니까? (1) 차이 0:

$a = 0;
isset($a) && is_numeric($a) === true

(2) 차이 ''

$a = '';
empty($a) && $a=== ''

(3) 차이 null

$a = null;
is_null($a);

또한 제출할 때 하나를 감지해야 하는 경우가 종종 있습니다. a form 변수가 존재하는지 여부, $_REQUEST['status'] = 0인 경우에는 empty($_REQUEST['status'])를 사용하여 true를 반환하지만 isset($_REQUEST['status'])를 사용하여 변수인지 판단합니다. 비어 있지 않음

3. is_null():

bool is_null (mixed $var) (php.net 공식 문서의 함수 정의)
매개변수가 다음 세 가지 조건을 충족하면 is_null()은 TRUE를 반환하고 다른 경우에는 FALSE
1이 됩니다. NULL
2이 할당됩니다. 값이 할당되지 않았습니다
3. unset() 후에는 정의되지 않습니다.
몇 가지 예를 살펴보겠습니다.

$myvar = NULL;  
var_dump(is_null($myvar)); // TRUE 
$myvar1;      
var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable 
$num = 520; 
unset($num); 
var_dump(is_null($num)); //TRUE Notice: Undefined variable 
var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable 
 
$myvar = 0; is_null($myvar);   // FALSE 
$myvar = FALSE; is_null($myvar); // FALSE 
$myvar = ''; is_null($myvar);  // FALSE


위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다. ㅋㅋㅋ

php 성능 최적화 :

isset
()은 strlen()


보다 빠릅니다.

위 내용은 PHP에서 공백, isset, is_null의 사용법과 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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