PHP IF 비교문 아무리 봐도 무슨 문제점인지...
본문
function dfile($c){
echo "$c:zh";
if ($c == "ko") // 한국어
{
echo "한국어";
//echo $strings = array ("예", "아니오", "취소", "로그인", "이 메시지는 테스트 메시지입니다.", "이 페이지의 언어는 한국어입니다.");
}
elseif ($c == "en") // 영어
{
echo "영어";
//echo $strings = array ("Yes", "No", "Cancel", "Sign in", "This message is a test message.", "The language of this page is English.");
}
elseif ($c == "zh") // 중국어
{
echo "중국어";
//echo $strings = array ("Oui", "Non", "Annuler", "Connexion", "Ce message est un message test", "La langue de cette page est française.");
}
}
위에 함수를 만들어서 파라미트 넘어오는값을 확인 해봤는데
$c 변수에는 정확히 zh 라고 들어 가있습니다. 하지만 if문에서 elseif ($c == "zh") 들어가서 echo "중국어" 여기에 들어가야되는데 아무리 해도 안들어갑니다. 도와주세요..
답변 5
line 19 에 보면 Unicode Character 'ZERO WIDTH SPACE' (U+200B) 가 있습니다.
별 문제가 없어보입니다.
ko, en, zh 모두 테스트 해보신건가요?
function difle($c){
echo "$c:zh";
if ($c == "ko") // 한국어
{
echo "한국어";
//echo $strings = array ("예", "아니오", "취소", "로그인", "이 메시지는 테스트 메시지입니다.", "이 페이지의 언어는 한국어입니다.");
}
elseif ($c == "en") // 영어
{
echo "영어";
//echo $strings = array ("Yes", "No", "Cancel", "Sign in", "This message is a test message.", "The language of this page is English.");
}
elseif ($c == "zh") // 중국어
{
echo "중국어";
//echo $strings = array ("Oui", "Non", "Annuler", "Connexion", "Ce message est un message test", "La langue de cette page est française.");
}
}
이거 복사하셔서 다시 해보세요.
이상하게 쓰신 글 복사해서 테스트 해보니깐 에러나가 나네요.
복사하지 않고 직접 타이핑해서 작성해보니 에러는 안납니다.
저도 궁금해서 돌려봤는데
직접 타이핑 하면 잘나오고
코드를
utf-8 에서 ansi 로 변경하니
베르만님 말씀처럼 이상한 코드(???) 가 있네요
해당부분 블럭지정후 삭제하고 해보니 잘됩니다.
UltraEditor 로 코드를 보면 가장 정확합니다.
다른 에디터에서 안보이는 ? 가 보입니다.
? 는 당연히 없어야 하는 건데, euc-kr 과 utf-8 등의 잘못된 복사로 인해 발생하기도 합니다.