php 에서 isset 와 empty 함수 의 곤 혹 스 러 움 과 용법 분석
php 를 공부 한 후에 자신의 기초 지식 이 아직 튼튼 하지 않다 고 느 꼈 습 니 다.어떤 문 제 는 잘 모 릅 니 다.예 를 들 어 한 가지 변수 가 비어 있 는 지 판단 하 는 상황 에서 저 는
isset()
을 사용 하 는 지 empty()
을 사용 하 는 지 모 르 겠 습 니 다.오늘 나 는 어떤 함 수 를 써 야 할 지 분석 할 것 이다.isset()
:함수 가 설정 되 었 는 지 여 부 를 판단 하 는 데 사 용 됩 니 다.설정 되 어 있 으 면 true 이 고 그렇지 않 으 면 false 입 니 다.그러나 하나의 예외 가 있 습 니 다.즉,하나의 변수 가 null 로 설정 되면 이때 도 false 로 돌아 갑 니 다.
<?php
$a = null;
var_dump(isset($a));//a , null, false
var_dump(isset($b));// b, false
var_dump(isset($_GET['id']));// $_GET['id'] , false; $_GET['id'] , true
?>
empty()
:하나의 변수 가 비어 있 는 지 판단 하 는 데 사 용 됩 니 다.성형 0,부동 소수점 0,문자 형의'와'0',그리고 불 형의 false,NULL 형의 null,빈 배열 등 이 있 습 니 다.
<?php
$a = null;
var_dump(empty($a));//true
$b = "";
var_dump(empty($b));//true
$c = "0";
var_dump(empty($b));//true
$c = 0;
var_dump(empty($b));//true
$e = false;
var_dump(empty($e));//true
$f = array();
var_dump(empty($f));//true
var_dump(empty($g));//$g , true
var_dump(empty($_GET['id']));// $_GET['id'] , true; , , true。
?>
요약:하나의 변수 가 존재 하 는 지 판단 하려 면 isset()
과 empty()
을 사용 할 수 있 습 니 다.변수의 값 이 비어 있 는 지 판단 하려 면 empty()
을 사용 하 십시오.주의:예전 에 제 가 프로젝트 를 할 때 이런 문제 가 발생 했 습 니 다.저 는 select 드 롭 다운 목록 상자 의 선택 한 값 을 서버 에 전 달 했 습 니 다.서버 는 초 전역 배열 에서 값 을 얻 었 습 니 다.그러나 그 당시 에 저 는
isset()
과 empty()
의 차 이 를 잘 몰 랐 습 니 다.그 당시 에 그들 이 변수 가 존재 하 는 지 아 닌 지 만 알 았 습 니 다.그 결과 저 는 empty()
함 수 를 사 용 했 습 니 다.마지막 으로...bug 가 발생 했 습 니 다.저 는 empty()
으로 판단 하여 제 가 보 내 온 변수의 값 이 0 인 상황 을 제 외 했 습 니 다.이 모든 것 은 변수 가 비어 있 는 지 판단 하 는 것 이 라면
isset()
을 사용 하 는 것 이 좋 습 니 다.더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.