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

이럴 경우도 있네요? 채택완료

희망대로 8년 전 조회 3,359

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

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

 

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

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

 

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

답변 6개

채택된 답변
+20 포인트
뚜찌빠찌

이렇게 해보세요 

$my_check = 1;

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

}

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

답변에 대한 댓글 11개

희망대로
8년 전
죄송하지만 질문을 수정해서요 다시 한번 봐주세요
if($my_check==1) 해도 안들어가고
if($my_check=="1") 로 해도 안들어가요
뚜찌빠찌
8년 전
답변내용 수정했습니다.
희망대로
8년 전
왜 곱하기 1을 하죠? 원래 그렇게 안해도 되지 않나요?
뚜찌빠찌
8년 전
$my_check 를 숫자 1로 선언하시고
if 에서 $my_check 를 숫사 1하고 비교하시잖아요
곱하기 1하면 $my_check 가 문자 1이든 숫자 1이든 결과적으로는 모두 숫자 1로 인식하게 만듭니다.
희망대로
8년 전
*1 해도 안들어가네요-_-

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

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

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

2. 해당 파일의 if문 바로 앞에서 다시 한번 $my_check=1 로 값을 넣어주면
if문에서 원래 들어갈 곳으로 들어가요
뚜찌빠찌
8년 전
$my_check = 1; 지금 이선언이 바로 if 앞에 있잖아요
희망대로
8년 전
if문 앞에서 선언한 것은 여기에 질문상 그렇게 타이핑한것이고요

실제로는 해당 변수 선언은 문제 파일을 인클루드 하고 있는 파일에서 선언되어있습니다
뚜찌빠찌
8년 전
그러면 if 하기전에 한번 echo $my_check ; 해보시고
아무것도 출력되지않으면 include 가 될때 값을 가져오지못햇거나
include 안에서 $my_check 값이 1이아닌 다른 걸로 바뀌였거나 겠네여
희망대로
8년 전
바로 앞에서 변수를 echo 해본까 값이 비어있네요
제 ide가 오류네요. 값이 1이 있다고
어디선가 초기화된거 같네요
뚜찌빠찌
8년 전
변수명을 바꾸시거나 값이 초기화되는 포인트를 찾아내셔야겠네요 ^^
희망대로
8년 전
감사합니다.^^

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

메인링크

요즘 한창 배우는 중인데 .. 보는것만으로도 ..모두 감사합니다 .

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

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

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

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

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

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

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

잉끼s
8년 전

$my_check=1;

위 선언을 함수나 클래스 안에서 한게 아닐까 생각됩니다.

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

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

C
8년 전

"my_check" 라는 변수명 중복 같네요.

 

my_check 를 ext_my_check 로 수정 하면 될 듯 싶습니다.

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

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

굿
8년 전

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

 

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

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

답변에 대한 댓글 1개

희망대로
8년 전
감사합니다 ide가 에러내요 ^^ echo를 해보니까 값이 없는데 ide에서는 1 이라고 ㅎ

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

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

로그인