我的代码中是否存在语法错误?一切似乎都运转正常。这是一个自学考试的问题,而且我不想陷入困境中,愚蠢的问题......
$i = fgets(STDIN);
switch ($i) {
case 'a':
case 'i':
case 'e':
case 'u':
case 'o':
echo("vowel\n");
default:
echo("non vowel\n");
}
答案 0 :(得分: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
}
这是因为你有一个两个案例的陈述:它是,或者它不是。 switch
对于这类事情来说并不是最理想的,并且 - 如代码中的错误所示 - 更容易出错;)