php 버그인가요? 한번 봐주세요

php 버그인가요? 한번 봐주세요

QA

php 버그인가요? 한번 봐주세요

본문

그누보드5  공통함수에 get_selected($field, $value)가 있습니다.

이것을 사용해서 select 옵션 초기값을 지정해주고 있는데, 좀 이상한 점이 있네요.

 

특정값에서 자꾸 엉뚱한 값이 selected 되길래

해당값을 if문으로 확인해보니, 아래와 같이 두 값은 분명 다른것 같은데, 참이 되네요.


$a = "10";
$b = "10e0";

 

if ($a == $b){
   echo "두 값이 같다";
} else {
   echo "두 값이 다르다";

 

실행결과:  두값이 같다로 출력됨...

 

뭐가 문제일까요? php 버그인가요? 

이 질문에 댓글 쓰기 :

답변 3

B변수가 숫자형으로 인식되기 때문에 그렇습니다.

문자형으로 비교하면 두값이 다르다 라고 나오는 것을 확인할 수 있습니다.

아래와 같이 해보세요.

<?php

//문자형
$a = "10";
$b = "10e0";
if (strcmp($a,$b)==1) echo "두 값이 같다 ";
else echo "두 값이 다르다 ";

//숫자형
if (is_numeric($b)==1) echo $b."는 숫자형 입니다. ";
else echo $b."는 문자형 입니다. ";

//단순 비교
if ($a === $b) echo "두 값이 같다 ";
else echo "두 값이 다르다 ";

//자료형 비교
if ($a == $b) echo "두 값이 같다 ";
else echo "두 값이 다르다 ";

?> 

 

 

이퀄기호 3개로 비교해 보세요.

 

if ($a === $b){ 

 

이렇게요. 

 

 

http://php.net/manual/kr/language.operators.comparison.php 

여기를 참고해 보세요. 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,671 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT