Skip to Content
Go Back
안형우

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

📌 CSS가 어려운 이유 — 프로젝트 중심 실전 CSS 강의 소개 2023-04-13
📌 워드프레스, 답답한 빌더와 플러그인 대신 시원하게 커스터마징하기(강의) 2023-01-15
📌 아무도 말하지 않는 PHP의 좋은 점 2018-10-13
📌 유지보수하기 쉬운 CSS 전략(슬라이드) 2016-12-20
📌 워드프레스 테마에서 템플릿 파일 매칭 순서 2013-05-12
📌 [번역] CSS 코드 냄새 2013-01-01

php에서 GET 변수를 0으로 줬을 때 확인 안 되는 경우

GET 방식으로 변수를 보냈다. 주소값은 다음과 같았다.

ActionFactory.php?deleteno=0

그리고, ActionFactory.php에는 이런 구문이 있었다.

if($_GET['deleteno']){
  echo $_GET['deleteno'];
}

그런데 여기 안 걸리는 것 아닌가! 분명 0이 아닐 때는 모두 if문에 걸렸단 말이지.

그래서 이렇게 변경하니 잘 됐다.

if(isset($_GET['deleteno'])==true){
  echo $_GET['deleteno'];
}

위에 isset 함수가 보일 것이다. isset은 변수가 세팅돼있는지 확인하는 함수다. 세팅돼 있으면 true, 아니면 false를 리턴한다.

나는 보통 if($변수)라고 써서 확인했었는데, 그러면 안 되나보다.

그리고 사실, isset($변수)==true는 안 적어 줘도 된다. 어차피 if($변수)는 $변수가 참이면 실행하고, 거짓이면 실행하지 말라는 뜻이기 때문이다.

작동하지 않았던 이유는?

간단하다. 0은 false로 처리되기 때문이다.(참고 : false값인 사례들)

기타

isset 말고 unset이란 함수도 있다. 이건 변수를 비우는 함수다.

isset($변수1, $변수2) 이렇게 쓰면, $변수1과 $변수2가 모두 세팅돼 있을 때만 참을 리턴한다.

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다