PHP If语句脚本
我想做一个选择题。分数将以百分比表示,但我有条件。如果分数=100%,则最终将显示“C2熟练程度”。但如果我跑了,并且我的分数超过30%,那么我会显示“A1初学者”。脚本不起作用。请帮忙 代码如下:PHP If语句脚本,php,Php,我想做一个选择题。分数将以百分比表示,但我有条件。如果分数=100%,则最终将显示“C2熟练程度”。但如果我跑了,并且我的分数超过30%,那么我会显示“A1初学者”。脚本不起作用。请帮忙 代码如下: <?php if ($persentaje == 100){ $hasil="C2 Proficiency"; } if ($persentaje > 80) { $hasil="C1 Advanced"; } if ($persentaje > 60) {
<?php
if ($persentaje == 100){
$hasil="C2 Proficiency";
}
if ($persentaje > 80) {
$hasil="C1 Advanced";
}
if ($persentaje > 60) {
$hasil="B2 Upper Intermediate";
}
if ($persentaje > 50) {
$hasil="B1 Intermediate";
}
if ($persentaje > 40) {
$hasil="A2 Pre Intermediate";
}
if ($persentaje > 30) {
$hasil="A2 Elementary";
}
else {
$hasil="A1 Beginner";
}
?>
除第一条语句外,所有
if
语句都应为else if
。
否则,您只是一个接一个地执行它们请考虑以下两个条件:
if ($persentaje == 100){
$hasil="C2 Proficiency";
}
if ($persentaje > 80) {
$hasil="C1 Advanced";
}
当$persentaje==100
时会发生什么?结果将是“C1高级”。因为,100也大于80。(并且大于60,大于50,等等)因此您的所有条件都是true
,因此每个条件都将覆盖前一个条件的$hasil
值
如果希望条件是互斥的,可能需要elseif
:
if ($persentaje == 100){
$hasil="C2 Proficiency";
}
elseif ($persentaje > 80) {
$hasil="C1 Advanced";
}
对其他条件重复此操作,直到得到最终的
else
您可能应该使用switch/case
语句,而不是if和if,如果您不想更改if语句,只需使用else if
,但它与switch/case不同,您可以编写如下代码:
if ($persentaje == 100){
$hasil="C2 Proficiency";
} else if ($persentaje > 80) {
$hasil="C1 Advanced";
}else if ($persentaje > 60) {
$hasil="B2 Upper Intermediate";
}else if ($persentaje > 50) {
$hasil="B1 Intermediate";
}else if ($persentaje > 40) {
$hasil="A2 Pre Intermediate";
}else if ($persentaje > 30) {
$hasil="A2 Elementary";
} else {
$hasil="A1 Beginner";
}
这肯定对您有用。尝试反转if语句。你使用它的方式,它会覆盖自己
<?php
if ($persentaje > 30){
$hasil="A2 Elementary";
}if ($persentaje > 40) {
$hasil="A2 Pre Intermediate";
}if ($persentaje > 50) {
$hasil="B1 Intermediate";
} if ($persentaje > 60) {
$hasil="B2 Upper Intermediate";
} if ($persentaje > 80) {
$hasil="C1 Advanced";
} if ($persentaje == 100) {
$hasil="C2 Proficiency";
} if($persentaje < 30) {
$hasil="A1 Beginner";
}
在php中处理这个问题非常简单。。。以下是一个例子:
$money = 100;
if($money) {
echo "You have - ".$money;
}else if($money < 100) {
echo "You have less then needed";
}else if ($money > 10) {
echo "Your funds are critical";
}else {
echo "You don't have money!";
}
$money=100;
如果(美元){
回声“你有-”,美元;
}否则,如果($money<100){
回应“你拥有的比需要的少”;
}否则,如果($money>10){
回应“你的资金至关重要”;
}否则{
echo“你没有钱!”;
}
创建多个if语句将导致它们逐个执行。。。使用else if语句时,它将只执行与所需参数匹配的语句…如果我可以建议在PHP中使用的另一个选项是switch case功能:
switch(true) {
case $percentaje == 100 :
$hasil = "C2 Proficiency";
break;
case $percentaje > 80:
$hasil = "C1 Advanced";
break;
}
A) 如果有更多选项,看起来很整洁。
B) 它将根据有效内容选择一个选项
参考资料:您可以使用switch case并解决此问题。使用switch case
<?php
switch($percentaje) {
case $percentaje == 100 :
$hasil = "C2 Proficiency";
break;
case $percentaje > 80:
$hasil = "C1 Advanced";
break;
case $persentaje > 60:
$hasil = "C1 Advanced";
break;
case $persentaje > 50:
$hasil = "C1 Advanced";
break;
case $persentaje > 40:
$hasil = "C1 Advanced";
break;
case $persentaje > 30:
$hasil = "C1 Advanced";
break;
default:
$hasil="A1 Beginner";
}
?>
它是如何工作的?开关
不是用于小于/大于比较,而是用于相等