2017-08-05 46 views
0

我正在尝试编写PHP代码,可以执行以下操作: 如果分数小于或等于50,则打印“参加测验”, elseif分数介于51和80之间然后打印“参加测试”, 其他打印“你已经通过” 所以主要的问题是如何让操作员在50到80之间(要计算从51到80的所有数字)。谢谢!PHP变量运算符为一个组中的多个值

+0

你不需要数数什么,只是比较分数 – ImAtWar

+0

这是我的代码: $ score = 0;如果($ score <= 50) echo“Please take a quiz”; } elseif($ score == 51 || $ score == 80){ echo“Please take a quiz”; } else { echo“You've passed”; } –

+0

@JobGondwe查看答案,就像你在'if($ score <= 50)'中如何不从负无穷到50,这同样适用于你的elseif - 你可以使用条件来比较不同的数字,并且允许您在相同条件下使用多个条件,但在这种情况下,由于“else”(和“elseif”)的奇迹,假定score是整数,因此不需要这种情况。正如我所说,请看下面的答案。 – Max

回答

0

我觉得你找这个

if($score <= 50) 
     echo 'take a quiz'; 
    else if($score < 80) 
     echo 'take a test'; 
    else echo 'you have passed'; 
+0

其实这个作品...我认为我是过度思考,谢谢你:) –

0

要做到这一点,你将需要三大运营商中,><&&结合。

&&运算符评估其左侧和右侧,如果它们都是真值,则返回真值,如果其中一个或两个都为假,则返回真值。 (返回的值将是其中一个参数)。

这被称为运算符,因为它只有在A和B为真时才返回真值。

要结合一切,人们会做if($score < 82 && $score > 50)

但是,在这种情况下实际上有一个更简单的方法。

假设$score是一个整数,如果它不小于50,则它大于或等于51.并且由于if语句中的所有前面的子句都没有运行,else-if将不会运行(即只有一个可能的代码块会运行),那么你只需检查$score是否小于80)。

因此,这意味着,在这种情况下,而&&运营商可以使用,我们可以只写

if($score < 50) { 
    // ... 
else if ($score < 80) { // "else if" won't run if ($score < 50) was false. 
    // ... 
} else { // won't run unless ($score < 80) and ($score < 50) were both false 
    // ... 
} 

这就是为什么else想法是非常有用的。

+0

感谢哥们这个作品完美。 :) –