이럴 경우도 있네요? 채택완료
아래 파일을 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로 들어가는데 ... 왜 이렇죠? }
답변에 대한 댓글 11개
if 에서 $my_check 를 숫사 1하고 비교하시잖아요
곱하기 1하면 $my_check 가 문자 1이든 숫자 1이든 결과적으로는 모두 숫자 1로 인식하게 만듭니다.
근데 이상한게... if문 바로 앞에
다시 한번 $my_check=1 를 주면 if문에서 제대로 들어갑니다.
$my_check=1 선원 위치는 해당 파일을 인클루드하고 있는 다른 파일입니다.
1. 분명히 해당 파일을 인클루드 하고 있는 파일에서 $my_check=1을 선언하면
해당 파일에서 if문에서 제대로 인식안되며
2. 해당 파일의 if문 바로 앞에서 다시 한번 $my_check=1 로 값을 넣어주면
if문에서 원래 들어갈 곳으로 들어가요
실제로는 해당 변수 선언은 문제 파일을 인클루드 하고 있는 파일에서 선언되어있습니다
아무것도 출력되지않으면 include 가 될때 값을 가져오지못햇거나
include 안에서 $my_check 값이 1이아닌 다른 걸로 바뀌였거나 겠네여
제 ide가 오류네요. 값이 1이 있다고
어디선가 초기화된거 같네요
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
if 문 바로 앞에선, 제대로 되신다니,
결국 그 전 어디선가 다른값이 들어와서 계속 else 로 빠졌겠네요.
브레이크 걸면서 버그를 잡으러 갑시당!
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
"my_check" 라는 변수명 중복 같네요.
my_check 를 ext_my_check 로 수정 하면 될 듯 싶습니다.
댓글을 작성하려면 로그인이 필요합니다.
$my_check 를 인클루드 되는 파일에서 echo $my_check ; 해보시죠
아니면 어디서 초기화 되는것 같은데 $my_check2로 모두 변경해보세요.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
if($my_check==1) 해도 안들어가고
if($my_check=="1") 로 해도 안들어가요