返回true,使用switch时返回false

Nor*_*man -3 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;
}
}
Run Code Online (Sandbox Code Playgroud)

Ja͢*_*͢ck 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;
}
Run Code Online (Sandbox Code Playgroud)