iWiz ShareBase

IT Specialist 윤태현의 iWiz ShareBase는 IT뿐 아니라 각종 잡다한 지식들을 함께 나누는 지식공유 커뮤니티입니다.

iWiz,ShareBase,윤태현,Java,JSP,EJB,IT,정보기술,웹프로그래밍,PHP,ASP,DBMS,MySQL,서버,네트워크,server,network,WAS,웹애플리케이션,블로그,blog,웹서버,DB,오라클,oracle,mysql,JRun,웹로직,톰캣,tomcat,아파치,자동차,EF쏘나타,로또 6/45

갤러리 Pixelgrapher.com | 로또 6/45 번호생성 및 통계 데이터 | 전체기사보기 | 전체글 #1 | 전체글 #2 | 전체글 #3 | 전체글 #4 | 전체글 #5 | 전체글 #6 | 전체글 #7 | 전체글 #8 | 전체글 #9 | 전체글 #10 |
HOME iWiz
ShareBase
Remember 0523 & 0818
지식은 나눌수록 커집니다 - iWiz's ShareBase
웹프로그래밍(기타) PHP, ASP, Perl, CGI 등 각종 웹프로그래밍에 관한 자료들입니다.


  iWiz(2004-01-04 22:48:14, Hit : 28745, Vote : 23
 http://www.wz.pe.kr

PHP에서 공백(empty) 및 NULL 문자열의 검증


PHP에서는 NULL 또는 공백(길이가 0) 값을 갖는 문자열을 어떻게 검증할 수 있는지 한번 테스트해 봤습니다.
결론부터 말씀드리면 여러가지 비교문에서 NULL과 공백값 사이의 차이는 없었습니다.

테스트에는 여러개의 다른 특성을 갖는 다음과 같은 변수들을 이용했습니다.
① $value1 : 정의되지 않은 변수
② $value2 : 공백값을 갖는 변수 ($value2 = "";)
③ $value3 : NULL값을 갖는 변수($value3 = NULL:)
④ $value4 : GET으로 넘어온 변수 (vtest.php?value4=)
⑤ $value5 : POST로 넘어온 변수(<input type="text" name="value5">)

위의 변수들의 값을 다음과 같은 방법으로 각각 테스트 해보았습니다.

1. if(isset($value)) : isset은 변수가 초기화 되었는지 검증하는 함수인데, 당연히 ②번은 true가 나왔고  ④,⑤번은 PHP에서 register_globals 옵션에 의해 자동으로 변수를 생성했으므로 true가 나왔습니다. 의외의 결과는 ③번은 $value3 = NULL 이라고 값을 할당했음에도  false의 값이 나왔습니다. 이를 미루어보아 PHP에서 특정 변수에 NULL 값을 바로 할당하는 것은 unset($value3)과 동일한 효과를 갖는듯 싶습니다.

2. if($value == NULL) : 이 결과는 ①~⑤ 모두 true로 나와있습니다. 재미있게도 ②번 같은 경우는 $value2 = "" 이라고 명시적으로 공백값을 할당했음에도 true가 나왔습니다.

3. if($value == "") : 이 결과도 ①~⑤ 모두 true로 나옵니다. ①은 정의되지 않았고, ③은 NULL값을 할당했음에도 true로 나오는 것과 2번의 결과로 미루어봐서 PHP에서는 if 문으로 검증시 공백과 NULL을 특별히 구분하지는 않는듯 싶습니다.

4. if($value) : 이번엔 boolean 값을 체크해봤습니다. 이 결과  ①~⑤ 모두 false가 나옵니다. 변수에 실제로 값이 있을 때는 true가 나옵니다.

결론 : 문자열 변수들의 값이 유효한가 검증할때는 2~4번의 어느것을 써도 차이가 없습니다.



62   mod_throttle 모듈을 이용한 사용자 트래픽 제어  iWiz 2006/06/22 8850 0
61   Tomcat-Apache using JK2 connector  iWiz 2004/03/21 6140 41
60   RedHat 9.0에서의 JRun JSP 컴파일러의 문제점  iWiz 2004/01/04 5329 50
59   RedHat 9.0에서의 JRun-Apache 커넥터의 문제점  iWiz 2004/01/04 5021 48
58   JRun 4.0의 튜닝 관련 옵션  iWiz 2004/01/04 5758 68
57   JRun 4.0의 Activity 모니터링 방법  iWiz 2004/01/04 4736 57
56   JRun4.0: DataSource 커넥션풀 관련 옵션 [4]  iWiz 2004/01/04 6487 46
55   JRun에서 JSP 컴파일시 java 파일 생성하기  iWiz 2004/01/04 7735 63
54   JRun의 실제 서비스 운영시 고려사항  iWiz 2004/01/04 6127 44
53   수정된 인터넷 익스플로러에서 상호작용 ActiveX 컨트롤 활성화 가이드  iWiz 2006/03/03 8144 4
52   HTML 특수기호 엔터티(Entity) 테이블 [2]  iWiz 2006/03/03 13815 2
51   웹사이트의 새로운 혁명 Ajax [13]  iWiz 2005/11/22 5663 6
50   MSN 메신저 친구 자동등록 스크립트  iWiz 2004/10/12 6029 35
49   JavaScript MD5 해쉬 생성 함수  iWiz 2004/01/07 8819 35
48   JavaScript로 만든 진법변환 및 보수계산기 [4]  iWiz 2004/01/04 156478 51

1 [2][3][4][5]
 

Copyright 1999-2023 Zeroboard / skin by zero
iWiz ShareBase, ⓒCopyleft by iWiz.  For more information contact .
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나 그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며, 이를 위반시에는 정보통신망법에 의해 형사처벌됨을 유념하시기 바랍니다. [게시일 2004. 1. 31]