PHP否则如果不起作用.(将运算符与整数进行比较)


function ageIssue($age){
if ($age > 10) {
echo "Age is greater than 10";
} elseif ($age>20) {
echo "Age is greater than 20";
} elseif($age>30) {
echo "Age is greater than 30";
}else {
echo "Enter valid age";
}
}
ageIssue(32);

这段代码有什么错?我需要答案"年龄大于 30",但它总是说"年龄大于 10"。请帮忙....

你的代码逻辑是错误的。如果要处理if else,则必须这样做:

function ageIssue($age){
if ($age > 30 && $age < 40) {
echo "Age is greater than 30";
} elseif ($age>20) {
echo "Age is greater than 20";
} elseif($age>10) {
echo "Age is greater than 10";
}else {
echo "Enter valid age";
}
}

您的代码执行到第一个真正的评估...分解您的 if 语句以简化您的检查...请注意,我从最小的年龄开始。

如下所示:


function ageIssue($age){
$output = "Enter valid age";

if ($age > 10) {
$output = "Age is greater than 10";
}
if ($age > 20) {
$output = "Age is greater than 20";
} 
if($age > 30) {
$output = "Age is greater than 30";
}
echo $output;
}
ageIssue(32);

您可以从测试值从if 语句开始

  1. 调用返回方法
function ageIssue($age){
if ($age > 70) {
return "Age is greater than 70";
} if ($age>50) {
return "Age is greater than 50 but less than 70";
} if($age>30) {
return "Age is greater than 30 but less than 50";
}if($age>10){
return "Age is greater than 10 but less than 30.";
}
if($age>=1){
return "Age is between 1 and 10.";
} else {
return "Invalid Age enter";
} 
} 
echo ageIssue(32);

您需要在检查年龄时从最大的开始

function ageIssue($age)
{
if ($age > 70) {
return "Age is greater than 70";
} elseif ($age > 50) {
return "Age is greater than 50 but less than 70";
} elseif ($age > 30) {
return "Age is greater than 30 but less than 50";
} elseif ($age > 10) {
return "Age is greater than 10 but less than 30.";
} elseif ($age >= 1) {
return "Age is between 1 and 10.";
} else {
return "Invalid Age enter";
}
}
echo ageIssue(32);

最新更新