-2

trueまたはfalseを返すように切り替えようとしていますが、どこかで失敗しているようです。私は偽り続けます。私は完全に迷子になっています。これは実際に機能するはずです。どうすればこれを正しく行うことができますか?

if (validNum(1))
{echo 'Ok';}else{echo 'Fail';}

function validNum($x)
{
switch ($x)
{
case 1:
  echo "Number 1";
  break;
  return true;

case 2:
  echo "Number 2";
  break;
  return true;
case 3:
  echo "Number 3";
  break;
  return true;

default:
  echo "No number between 1 and 3";
  return false;
}
}
4

3 に答える 3

6

以下に書き直します。break3つのケースをマージし、それ以外の場合はを超えるステートメントの使用を回避しますswitch。基本的に、returnあなたは必要ありませんbreak

switch ($x)
{
  case 1:
  case 2:
  case 3:
    echo "Number $x";
    return true;

  default:
    echo "No number between 1 and 3";
    return false;
}
于 2012-10-02T05:34:27.913 に答える
2

の要点breakは、それがから飛び出すことですcase。あなたはあなたのreturn声明に到達することは決してありません。return ケース内とケース内の両方を 行う必要はありませんbreak

于 2012-10-02T05:26:54.683 に答える
1

あなたはあなたのbreak前にを置いていますreturn。ヒットすることはありませんreturn

于 2012-10-02T05:27:36.510 に答える