-2

我试图让开关返回真或假,但我似乎在某个地方失败了。我一直在说假话。我完全迷路了。这实际上应该有效。我怎样才能做到这一点?

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

我会把它改写到下面。它将三种情况合并在一起,避免使用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;
}
于 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 回答