저는 최근에 PHP를 배우고 있는데 비어 있는지 판단하는 데 약간의 의구심이 있습니다. 그 기록을 여러분과 공유하고 싶습니다.
empty
변수가 비어 있지 않거나 0이 아닌 값인 경우 비어 있음()은 FALSE를 반환합니다. 즉, "", 0, "0", NULL, FALSE, array(), var $var, undefine; 속성이 없는 객체는 비어 있는 것으로 간주됩니다. (추천 학습: 엔트리부터 마스터까지 PHP 프로그래밍)
e가 정의되지 않거나 값이 NULLL이면 e가 정의되지 않거나 값이 NULLL, e=NULL이면 비어 있어야 합니다. 즉, 비어 있습니다($e )= true;
e가 int 유형인 경우 e는 int 유형이고 e=0이며 숫자에 상대적이며 0은 0을 나타냅니다. 즉, 비어 있음($e)=true;
e가 문자열 유형인 경우 e는 문자열 유형, e="", 문자열 기준, ""는 비어 있음을 의미합니다. 즉, 비어 있음($e)=true;
e가 문자열 유형인 경우 e는 문자 기준 문자열 유형, e="0"입니다. 문자열, "0"은 0, 즉 비어 있음($e)=true를 의미합니다.
e가 bool 유형인 경우 e는 true를 기준으로 bool 유형, e=false이고 false는 비어 있음, 즉 비어 있음($ e)=true;
e가 배열 유형이고 e가 배열 유형인 경우 a=array(), 배열을 기준으로 요소가 없는 데이터는 비어 있습니다. 즉, 비어 있음($e)=true;
isset
변수가 존재하면(NULL 아님) TRUE를 반환하고, 그렇지 않으면 FALSE(정의되지 않음 포함)를 반환합니다. 변수 값은 null로 설정되고 반환 값도 false입니다. 변수를 설정 해제하면 변수가 취소됩니다. isset은 NULL 값 변수를 특별히 처리합니다.
is_null
은 들어오는 값 [값, 변수, 표현식]이 null인지 여부를 감지합니다. 변수가 하나만 정의되어 있고 해당 값이 null이면 다른 항목은 FALSE를 반환합니다. [정의되지 않은 변수가 전달되었습니다. 문제가 발생합니다. 입장 후! 】
어떤 경우에는 변수가 NULL인지 확인하기 위해 isset을 사용하는 것이 좋습니다.
하지만 의미상으로 "변수가 명시적으로 초기화되었는지 여부"와 "NULL인지 여부"는 다른 개념입니다. 예를 들어 함수의 반환 값이 NULL인지 확인하는 등의 경우입니다.
이때 "==" 및 "===="를 사용하여 NULL인지 확인할 수 있습니다.
"=="와 "===="의 경우 직접적인 차이는 여전히 매우 큽니다. "=="인 경우 빈 문자열로 인식하며, 0과 false는 모두 NULL입니다. "==="의 경우 변수가 실제로 NULL인 경우에만 NULL을 나타냅니다.
또한 "isset"과 비교하면 "==="의 성능은 기본적으로 비슷하거나 더 좋습니다.
위 내용을 요약하면 변수가 NULL인지 판단하는 가장 좋은 방법은 "==="를 직접 사용하는 것이므로 is_null과 isset 사이에서 망설일 필요가 없습니다. 사실 위의 결론은 False의 판단과도 일치합니다.
위 내용은 PHP는 값이 비어 있는지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!