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

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

(*-*)浩
풀어 주다: 2023-02-25 21:50:01
원래의
2024명이 탐색했습니다.

PHP를 사용하여 페이지 프로그램을 작성할 때 PHP 페이지 끝의 변수 값이 비어 있는지 확인하기 위해 변수 처리 함수를 자주 사용합니다. 처음에는 empty() 함수를 사용하는 데 익숙했지만 몇 가지를 발견했습니다. 문제가 발생하여 isset() 함수로 전환했더니 더 이상 문제가 발생하지 않습니다.

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

이름에서 알 수 있듯이 empty()는 변수가 "비어 있는지" 확인하고, isset()은 변수가 설정되었는지 확인합니다.

이 소위 "이름에서 알 수 있듯이"이 처음에 약간 우회하게 만들었습니다. 변수 값이 0과 같을 때 비어 있음()도 true(True)가 되므로 사고가 발생할 수 있습니다. . (권장 학습: PHP 비디오 튜토리얼)

empty()와 isset()은 모두 변수 처리 함수이지만 둘 다 변수가 구성되었는지 확인하는 데 사용되지만 몇 가지 차이점이 있습니다. 비어 있음 변수가 비어 있는지 또는 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 "<br>";
    !isset($id)?print "It&#39;s empty .":print "It&#39;s $id .";
      //结果:It&#39;s 0 .
로그인 후 복사

이는 변수 처리 기능을 사용할 때 변수의 값이 0일 수 있는 경우 empty()를 사용할 때 주의해야 한다는 의미입니다. 지금은 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
로그인 후 복사

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

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