我的代码中是否存在语法错误?

时间:2014-09-16 22:18:47

标签: php syntax switch-statement

我的代码中是否存在语法错误?一切似乎都运转正常。这是一个自学考试的问题,而且我不想陷入困境中,愚蠢的问题......

$i = fgets(STDIN);

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

1 个答案:

答案 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对于这类事情来说并不是最理想的,并且 - 如代码中的错误所示 - 更容易出错;)