返回true,使用switch时返回false

时间:2012-10-02 05:24:31

标签: php

我正试图让一个开关返回真或假,但我似乎在某处失败了。我一直都是假的。我完全迷失了。这实际上应该有效。我该如何做到这一点?

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;
}
}

3 个答案:

答案 0 :(得分:5)

我会把它重写到下面。它将三个案例合并在一起,避免使用break语句,否则将超过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;
}

答案 1 :(得分:2)

break的重点是它跳出case。你永远不会得到你的return陈述。您永远不需要在案例中同时使用return break

答案 2 :(得分:1)

您在break前面加return。它永远不会达到return