2014-09-16 2 views
0

내 코드에 구문 오류가 있습니까? 모든 ok..This가 자체 연구 시험에서 질문 질문입니다 작동하는 것 같다, 나는에 잡히고 싶지 않아이 작업을 수행하는 동안, 트릭 질문 ..내 코드에 구문 오류가 있습니까?

$i = fgets(STDIN); 

switch ($i) { 
     case 'a': 
     case 'i': 
     case 'e': 
     case 'u': 
     case 'o': 
     echo("vowel\n"); 
     default: 
     echo("non vowel\n"); 
} 
+2

구문 오류를 확인하려면 명령 줄에서 'php -l filename.php'를 실행하십시오. –

+3

하지만 'echo ("vowel \ n");'뒤에'break'하지 않는다는 사실은 논리적 인 오류가 있습니다. 또한 코드가 기본 블록도 실행한다는 것을 의미합니다 –

+1

모음을 입력 할 때 어떤 내용이 인쇄되는지보십시오 당신이 기대하는 바가 아닐 수도 있습니다. – Dave

답변

0

'이 바보를 그루터기' , 그것은 "옳은"것이 아닙니다. 모음 케이스에서 break을 잊어 버렸습니다.

그러나 개인적으로 개인적으로는 switch을 사용하지 않습니다. 나는 아마 할 것이다 :

$vowels = ['a','e','i','o','u']; 
if(in_array(strtolower($i),$vowels)) { 
    echo "vowel\n"; 
} 
else { 
    echo "consonant\n"; // the proper word for "non-vowel" :p 
} 

이것은 당신이 2 가지의 진술을하기 때문에있다 : 그렇지 않으면 그렇지 않다. switch은 이런 종류의 경우에는 최적치가 아니며 - 코드의 오류로 표시되는 것처럼 오류가 더 많음)

+0

감사합니다 @Niet the Dark Absol! 그것은 은색 탄환의 답변입니다! – boy

관련 문제