PHP에서 공백, isset, is_null의 사용법과 차이점

高洛峰
풀어 주다: 2023-03-05 21:50:02
원래의
1400명이 탐색했습니다.

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

1.empty 사용법

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

가 반환됩니다. 🎜>2.isset()


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


설명

bool isset ( 혼합 var [, 혼합 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) Difference null

$a = null;
is_null($a);
로그인 후 복사

게다가 Form을 제출할 때 $_REQUEST['status'인 경우 변수가 존재하는지 확인해야 하는 경우가 종종 있습니다. ] = 0 ; true를 반환하려면 empty($_REQUEST['status'])를 사용하고, 비어 있지 않다고 판단하려면 isset($_REQUEST['status'])를 사용하세요.

3. ():


bool is_null (mixed $var) (php.net 공식 문서의 함수 정의)

매개변수가 다음 세 가지 조건을 충족하면 is_null()은 TRUE를 반환합니다. , 그렇지 않으면 FALSE

1입니다. NULL
2 값이 할당됩니다. 이는 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, is_null의 사용법과 차이점은 PHP 중국어 웹사이트를 참고하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿