이럴 경우도 있네요?

이럴 경우도 있네요?

QA

이럴 경우도 있네요?

본문

아래 파일을 include 하는 파일에서

$my_check=1; 이라고 값을 지정했고

 

------------파일 시작 --------------

if($my_check==1){  //분명히 여기에서도   $my_check 값이 1이 거든요
    alert("1");  ////////////그런데 여기로 안들어오고   아래 else로 들어가는데 ... 왜 이렇죠?
}else{
    alert("else");
}

 

이 질문에 댓글 쓰기 :

답변 6

이렇게 해보세요 

$my_check = 1;

if($my_check*1 == 1){  //분명히 여기에서도   $my_check 값이 1이 거든요
    echo $my_check;  /////////////그런데 여기로 안들어오고   아래 else로 들어가는데 ... 왜 이렇죠?
}else{
    echo "else";  /////////////그런데 여기로 안들어오고   아래 else로 들어가는데 ... 왜 이렇죠?

}

$my_check 를 숫자 1로 선언하시고
if 에서 $my_check 를  숫사 1하고 비교하시잖아요
곱하기 1하면  $my_check 가 문자 1이든 숫자 1이든  결과적으로는 모두 숫자 1로 인식하게 만듭니다.

*1 해도 안들어가네요-_-

근데 이상한게... if문 바로 앞에
다시 한번 $my_check=1 를 주면 if문에서 제대로 들어갑니다.

$my_check=1 선원 위치는 해당 파일을 인클루드하고 있는 다른 파일입니다.

1. 분명히 해당 파일을 인클루드 하고 있는 파일에서 $my_check=1을 선언하면
해당 파일에서 if문에서 제대로 인식안되며

2. 해당 파일의 if문 바로 앞에서 다시 한번 $my_check=1 로 값을 넣어주면
if문에서 원래 들어갈 곳으로 들어가요

그러면  if 하기전에 한번 echo $my_check ; 해보시고
아무것도 출력되지않으면 include 가 될때 값을 가져오지못햇거나
include 안에서 $my_check 값이 1이아닌 다른 걸로 바뀌였거나 겠네여

if 문 바로 앞에선, 제대로 되신다니,

결국 그 전 어디선가 다른값이 들어와서 계속 else 로 빠졌겠네요.

브레이크 걸면서 버그를 잡으러 갑시당!

$my_check 를 인클루드 되는 파일에서 echo $my_check ; 해보시죠

 

아니면 어디서 초기화 되는것 같은데 $my_check2로 모두 변경해보세요. 

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

회원로그인

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