테스트 사이트 - 개발 중인 베타 버전입니다

php에서 문자열 e0 이 어떤 의미가 있는건가요? 채택완료

메이드 2년 전 조회 1,482

예를 들어

$tmp1 = '10';

$tmp2 = '10e0';

이라고 했을 때

$tmp1 == $tmp2 => true 가 됩니다.

물론 논리비교를 했을 때에는 false 가 되긴 합니다.

아무리 찾아봐도 e0 이라는 문자열이 어떤 역할을 하는 지에 대해서는 찾기가 힘드네요.

위의 예시에서 $tmp1 == $tmp2 가 true 가 되는 이유가 무엇일까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

문자열은 없고 실수형 아닌가요??

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

메이드
2년 전
string 입니다.
리오닥터
2년 전
자료형으로 볼땐 스트링이니까 참일테고
값으로 봤을땐 거짓같은데요
메이드
2년 전
$tmp1 = '30';
$tmp2 = '30e0';
if((string)$tmp1 == (string)$tmp2) {
이 경우에도 참이 나오네요;;
}

이해가 될 듯 말 듯 하지만, 그냥 넘어가야지 싶습니다.
리오닥터
2년 전
=== 이런표기법도 있는데
이거 참고해보세요.
https://www.geeksforgeeks.org/string-comparison-using-vs-strcmp-in-php/
메이드
2년 전
네 === 로 해결은 했는데, 이유가 궁금해서...

댓글을 작성하려면 로그인이 필요합니다.

2년 전

지수 표기법으로 인한 비교문 에서의

묵시적 형변환과 느슨한 비교의 결과입니다.

 

e 또는 E 의 역할은 php 에서만 국한되지 않습니다.

JavaScript 에서도 표현됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인