我正在玩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条件作为案例陈述,并分别打印价格大小
如果将一个随机数传递给开关并期望一个字符串,则永远无法显示任何消息,除非将其放入默认情况。