1시간동안의 삽질..
게시판 커스텀 중에
원인을 알 수 없는 오류가 발생해서....1시간 동안 삽질을 한 결과
$id =0;
if($id == 'delete') {
echo '참'
}
이게 참이 되네요.....
$id === 'delete' 로 해결하긴 했지만,
참이 되는 이유를 검색을 해봐도 알 수가 없습니다.
궁금해서 날 새겠네요;
댓글 9개
2년 전
@sinbi 지금..아주아주 궁금해 죽을 지경입니다.
$id = 0;
if($id == 'agsgs') {
echo '참입니다.'
}
php 7.4 버전 사용 중인데 $id 에 어떤 문자열을 비교해도 참이 나오네요;;
http://quiz.wwiz.kr/board/notice
$id = 0;
if($id == 'agsgs') {
echo '참입니다.'
}
php 7.4 버전 사용 중인데 $id 에 어떤 문자열을 비교해도 참이 나오네요;;
http://quiz.wwiz.kr/board/notice
sinbi
2년 전
@메이드 php언어 자체의 버그같네요.
http://phptester.net/ 에서 테스트해보니, php 8.0부터 false로 처리되고, 그 이전버전은 true로 처리되네요.
http://phptester.net/ 에서 테스트해보니, php 8.0부터 false로 처리되고, 그 이전버전은 true로 처리되네요.
2년 전
@sinbi 그렇군요. 아직은 8.0 사용환경이 많지 않으니,, 신경써야 할 부분이 더 늘었네요;;
궁금증이 풀렸습니다. 감사합니다.
궁금증이 풀렸습니다. 감사합니다.
2년 전
동적언어(PHP, JavaScript등) 에서 묵시적 형변환에 따른 결과입니다.
묵시적 형변환은 언어마다 버전마다 조금씩 케이스가 다르기 때문에, 언어스펙을 꼭 확인을 하셔야 합니다.
묵시적 형변환 때문에 동적언어에서는 오류가 발생하는경우가 많고, 동적언어에서 작성된 어플케이션의 경우는 그냥 종료되기도 합니다.(예를 들어 nodejs 로 만든 앱)
개발툴에서 해당 문제점에 대해 경고를 출력하도록 해두면, 좀더 안전한 코드를 작성할수 있습니다.
묵시적 형변환은 언어마다 버전마다 조금씩 케이스가 다르기 때문에, 언어스펙을 꼭 확인을 하셔야 합니다.
묵시적 형변환 때문에 동적언어에서는 오류가 발생하는경우가 많고, 동적언어에서 작성된 어플케이션의 경우는 그냥 종료되기도 합니다.(예를 들어 nodejs 로 만든 앱)
개발툴에서 해당 문제점에 대해 경고를 출력하도록 해두면, 좀더 안전한 코드를 작성할수 있습니다.
2년 전
@솔그루 그렇다고 하더라도 해당 오류는 php 언어 상의 버그라고 생각하는 게 맞는 것 같습니다. 묵시적형변환이 이루어졌다고 하더라도 0 == 'abcd' true 는 언어 자체의 오류라고 보아야 하지 않을까 싶습니다. 코드를 좀 더 꼼꼼하게 써야하지 싶네요.
jihan006
2년 전
php의 놀라운 부분이죠.
var_dump((int)'jshshsh');
오래전부터 알려진 문제이고 많은 사람들이 지적해왔지만 “기능”이라는 이유로 이것을 고친다면 호환성 문제가 생기므로 바꾸지 않았죠.
이건 PHP 8에 와서야 고쳐졌습니다.
https://www.php.net/manual/en/migration80.incompatible.php
== 연산자는 없다고 생각하세요.
var_dump((int)'jshshsh');
오래전부터 알려진 문제이고 많은 사람들이 지적해왔지만 “기능”이라는 이유로 이것을 고친다면 호환성 문제가 생기므로 바꾸지 않았죠.
이건 PHP 8에 와서야 고쳐졌습니다.
https://www.php.net/manual/en/migration80.incompatible.php
== 연산자는 없다고 생각하세요.
게시판 목록
자유게시판
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 |
|
1주 전 | 10 | |
| 199478 |
|
3개월 전 | 258 | |
| 199477 |
Modify
|
3개월 전 | 257 | |
| 199476 | 3개월 전 | 277 | ||
| 199475 | 3개월 전 | 404 | ||
| 199474 | 3개월 전 | 275 | ||
| 199473 | 3개월 전 | 238 | ||
| 199472 | 3개월 전 | 578 | ||
| 199471 | 3개월 전 | 219 | ||
| 199470 | 3개월 전 | 271 | ||
| 199469 | 3개월 전 | 316 | ||
| 199468 | 3개월 전 | 318 | ||
| 199467 | 3개월 전 | 162 | ||
| 199466 | 3개월 전 | 273 | ||
| 199465 | 3개월 전 | 229 | ||
| 199464 | 3개월 전 | 221 | ||
| 199463 | 3개월 전 | 184 | ||
| 199462 | 3개월 전 | 327 | ||
| 199461 | 3개월 전 | 235 | ||
| 199460 | 3개월 전 | 352 | ||
| 199459 | 3개월 전 | 250 | ||
| 199458 | 3개월 전 | 182 | ||
| 199457 | 3개월 전 | 335 | ||
| 199456 | 3개월 전 | 295 | ||
| 199455 | 3개월 전 | 274 | ||
| 199454 |
|
3개월 전 | 198 | |
| 199453 | 3개월 전 | 333 | ||
| 199452 | 3개월 전 | 202 | ||
| 199451 | 3개월 전 | 478 | ||
| 199450 | 3개월 전 | 378 | ||
| 199449 | 3개월 전 | 304 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기