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

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

QA

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

답변 3

본문

그누보드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 

여기를 참고해 보세요. 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 7
© SIRSOFT
현재 페이지 제일 처음으로