PHP案例切换打印消息


PHP case switch print message

我正在玩PHP,目前我正在使用case switch函数。我想创建最多100个随机数,并根据随机数输出回显一条消息。

我的php代码:

$number = rand(1, $limit);

    switch($number){
        case "range1":
            if($number >=1 || $number <=25 ){
                print 'You win nothihg';
            }else{
                print 'Your Score is: '.$number;
            }
            break;
        case "range2":
            if($number >25 || $number <=50 ){
                print 'You win Small Prize';
            }else{
                print 'Your Score is: '.$number;
            }
            break;
        case "range3":
            if($number >50 || $number <=75 ){
                print 'You win Medium Prize';
            }else{
                print 'Your Score is: '.$number;
            }
            break;
        case "range4":
            if($number >75 || $number <=100){
                print 'You win Large Prize';
            }else{
                print 'Your Score is: '.$number;
            }
            break;
        default:
            if($number <=75) {
                print 'Keep tryintg untill you win Large';
            }
    }

我遇到的问题是消息没有显示。。。。。我不知道我在这里哪里出了问题。。?

rand函数将返回一个介于您设置为2个参数的极限之间的数字,在本例中为1$limit 的值

由于您没有将$number变量与单词range连接,因此它永远不会作为值返回,请注意:

$number = rand(1,2);
//$number = 1 or 2
switch($number):
    //possible cases are case '1' and case '2'
endswitch;

如果您希望连接range,那么:

$number = 'range' . rand(1,$limit);

您的状况不好。阅读有关rand的手册,它返回int值。如果情况属实,还应阅读开关上的手册,通常开关进入情况块。在您的情况下为"range1"。。"range[n]"在与int数字进行比较时始终为false。

我想用这样的东西:

switch($number){
 case $number<=1:
  echo "less than one";
  break;
 case $number<=50:
  echo "less than 50";
  break;
 default:
//do something default
}

$number不会返回switch关键字"range",但会返回一个整数值!只需将您的If条件作为案例陈述,并分别打印价格大小

如果将一个随机数传递给开关并期望一个字符串,则永远无法显示任何消息,除非将其放入默认情况。