>  기사  >  백엔드 개발  >  PHP isset()과 empty()의 차이점

PHP isset()과 empty()의 차이점

不言
不言원래의
2018-05-08 16:34:061684검색

이 글은 주로 PHP isset()과empty()의 차이점을 소개합니다.특정 참조 값이 있습니다.필요한 친구들이 참조할 수 있습니다.

PHP를 사용하여 페이지 프로그램을 작성할 때 자주 사용합니다. php 페이지 마지막에 있는 변수 값이 비어 있는지 확인하는 변수 처리 함수. 처음에는 empty() 함수를 사용하다가 익숙해지더니 몇 가지 문제점을 발견하여 isset() 함수로 전환하고, 문제는 더 이상 존재하지 않았습니다.

이름에서 알 수 있듯이 empty()는 변수가 "비어 있는지" 확인하고, isset()는 변수가 설정되었는지 확인합니다. 이것이 제가 처음에 약간 우회하게 만든 소위 "이름에서 알 수 있듯이"입니다. 변수 값이 0과 같을 때 empty()도 true(True)가 되므로 일부 사고가 발생할 수 있습니다. empty()와 isset()은 모두 변수 처리 함수이지만 둘 다 변수가 구성되었는지 확인하는 데 사용되지만 확실한 차이점이 있습니다. empty는 변수가 비어 있는지 또는 0인지도 감지합니다. . 변수 값이 0인 경우,empty()는 변수가 비어 있는 것으로 간주하며, 이는 설정되지 않은 것과 동일합니다.

예를 들어 $id=0인 경우 $id 변수를 감지하려면 empty() 및 isset()을 사용하여 $id 변수가 구성되었는지 여부를 감지하세요. 둘 다 서로 다른 값을 반환합니다. -empty() 구성되지 않은 것으로 간주하면 isset()은 $id 값을 얻을 수 있습니다:

 $id=0;
 empty($id)?print "It's empty .":print "It's $id ."; 
  //结果:It's empty .
 print "
";
 !isset($id)?print "It's empty .":print "It's $id .";
  //结果:It's 0 .

이는 변수 처리 기능을 사용할 때 변수의 값이 0일 수 있을 때 빈( ) 이때 isset으로 교체하는 것이 좀 더 합리적입니다.

php 페이지의 URL tail 매개변수가 id=0(예: test.php?id=0)으로 표시되면 비교를 시도하세요.

if(empty($id)) $id=1; - 若 id=0 ,id 也会为1
if(!isset($id)) $id=1; - 若 id=0 ,id 不会为1

다음 코드를 별도로 실행하여 위의 내용을 감지할 수 있습니다. 추론:

 if(empty($id)) $id=1;
 print $id; // 得到 1
 if(!isset($id)) $id=1;
 print $id; //得到 0

공통점은empty()와 isset()이 모두 변수 처리 함수라는 것입니다. 그들의 기능은 바로 변수가 구성되었는지 여부를 확인하는 것입니다. 변수를 처리하는 과정에서 이들의 큰 유사성으로 인해 이들의 관계에 대한 이해가 부족해집니다. 빈()과 isset() 두 함수 자체를 고려하면 다른 각도에서 보면 사람들이 더 혼란스러워질 것입니다. empty()와 isset()의 처리 객체는 정의되지 않은 변수, 0, 빈 문자열에 지나지 않습니다.

변수가 0이면 비어 있음()은 TRUE를 반환하고, isset()은 TRUE를 반환합니다.

변수가 빈 문자열이면 비어 있음()은 TRUE를 반환하고, isset()은 반환합니다. TRUE;

변수가 정의되지 않은 경우,empty()는 TRUE를 반환하고 isset()은 FLASE를 반환합니다.

설명서의empty()에 대한 설명은 다음과 같습니다. (혼합 var)

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

매뉴얼의 isset()에 대한 설명은 다음과 같습니다. isset()은 변수가 설정되었는지 여부를 감지합니다.

Description bool isset ( mix var [, Mixed var [, ...]] )

var가 존재하면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

unset()을 사용하여 변수가 해제된 경우 더 이상 isset()이 아닙니다. isset()을 사용하여 NULL로 설정된 변수를 테스트하면 FALSE를 반환합니다. 또한 NULL 바이트("

위 내용은 PHP isset()과 empty()의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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