PHP流程控制之嵌套if...else...elseif结构

还记得本章开篇我们讲了一个王思总同学的例子:

王同学是生活极度充满娱乐化和享受生活的人。他抵达北京或者大连的时候做的事,他抵达后做的事情,如下:

半夜到达,先去夜店参加假面舞会
 早上抵达,爱在酒店泡个澡
 中午到达,会吃上一份神户牛肉
 晚上到达,总爱去找朋友去述说一下心中的寂寞

我们来了解一下他的语法规则【知识点要求:默写】

<?php
if(判断语句1){
    执行语句体1
}elseif(判断语句2){
    执行语句体2
}else if(判断语句n){
        执行语句体n
}else{
        最后的else语句可选
}

//后续代码
?>

上述结构表示:
如果判断语句1的值为真,则执行语句体 1。执行完成后进入后续代码段。
否则转入后面的判断语句2(elsif),判断语句2若为真,则执行语句体 2。
否则转入后面的判断语句n(elsif),判断语句2若为真,则执行语句体 n。
如果均不匹配则执行else语句。这种循环嵌套可以不含else语句,即只含有if、elseif语句。

注:elseif()也可以写成else if()

我们把上面的代码用流程图的形式表示清楚就如下图了:
2015-08-08/55c5966bd7af5

我们可以把王思总同学的例子通过PHP代码表示出来,代码表示结果如下:

<?php
//定义一个随机变量,抵达时间,随机0点至23点
$dida = rand(0,23);

if($dida > 6 && $dida < 10){
    echo '我爱泡澡';
}else if($dida >10 && $dida < 14){
    echo '吃神户牛肉';
}else if($dida >=19 && $dida < 22){
    echo '找一个朋友聊聊内心的寂寞';
}elseif($dida > 22 && $dida <= 23){
    echo '泡澡';

}elseif($dida >= 1 && $dida <3){
     echo '泡澡';
}else{
    echo '睡觉或者工作';
}


?>

作业:
写一个网页cj.html,向panduan.php页面以post方式提交分数段。分数段和显示的结果如下,要求如下:

  1. 0----60以下,不及格
  2. 60---70及格了,要努力
  3. 70---80  还不错
  4. 80---90   上清华有希望
  5. 90---100   你这辈子没希望了
  6. 100         更没希望了
  7. 100分以上    爱因斯坦转世啊,思密达!
  8. 不是一个数值类型或者小于0  请输入正确的分数。
继续学习
||
<?php //定义一个随机变量,抵达时间,随机0点至23点 $dida = rand(0,23); if($dida > 6 && $dida < 10){ echo '我爱泡澡'; }else if($dida >10 && $dida < 14){ echo '吃神户牛肉'; }else if($dida >=19 && $dida < 22){ echo '找一个朋友聊聊内心的寂寞'; }elseif($dida > 22 && $dida <= 23){ echo '泡澡'; }elseif($dida >= 1 && $dida <3){ echo '泡澡'; }else{ echo '睡觉或者工作'; } ?>
提交重置代码
章节
笔记
提问
课件
反馈
捐赠

php入门教程之一周学会PHP

高并发千万级数据库系统解决方案
  • 推荐课程
  • 评论
  • 问答
  • 笔记
  • 课件下载
″ YoK1ng 丶

″ YoK1ng 丶

<?php $fs = rand(0,100); if($fs > 0 && $fs<60){ echo"不及格,来盘王者荣耀压压惊。"; }elseif($fs>60 && $fs<80){ echo"及格了,来盘王者荣耀庆祝下。"; }elseif($fs>

5年前    添加回复 8

回复
RocherY

RocherY

<form action="b.php" method="GET"> <input type="text" name="box" method="GET"> <input type="submit" value="查询"

4年前    添加回复 2

回复
小圈圈~

小圈圈~

<?php @$cj = $_POST['cj']; if(!is_numeric($cj) || $cj < 0){ echo '同学请输入正确的成绩!!'; }else if($cj >= 0 && $cj < 60){ echo '不及格'; }else if($cj >60 && $cj <70 ){

4年前    添加回复 1

回复
小圈圈~

小圈圈~

为什么90-100没希望了。。。

4年前    添加回复 1

回复
RocherY

RocherY

<?php $cj=$_GET['box']; if(!is_numeric($cj)){ echo('请你输入数字类型');

4年前    添加回复 1

回复
RocherY

RocherY

html: <body> <form action="b.php" method="GET"> <input type="text" name="box" method="GET"> <input type="submit&quo

4年前    添加回复 1

回复
luoshui

luoshui

<html> <body> <form action="qiantao.php" method="post"> <input type="text" name="username" placeholder="请输入分数">

4年前    添加回复 1

回复
好想睡懒觉、

好想睡懒觉、

5年前    添加回复 1

回复
Forever

Forever

$chengji=$_POST['box'];if(is_numerice($chengji))||$chengji0 and $chengji=60 and $chengji

11个月前    添加回复 0

回复
cloudy

cloudy

<?php $cj=$_POST['cjput']; if(!is_numeric($cj) || $cj<0){ echo '请输入正确的分数'; }elseif(0<=$cj and $cj<60){ echo '不及格'; }elseif(60<=$cj and $cj<70){ echo '及格了,要努力喔'; }elseif

3年前    添加回复 0

回复
td

td

<?php $chengji = $_POST['mi']; echo $chengji; if(!is_numeric($chengji)){ echo '请输入数字'; }elseif($chengji < 60){ echo '不及格'; }elseif(60 <= $chengji && $chengji < 70){ echo '及格了,要努

3年前    添加回复 0

回复
David Xu

David Xu

<?php //$score = rand(0,100); $s = $_REQUEST['score2']; echo $s.'<br />'; if(!is_numeric ($s)){ echo "输入数字"; }else if($s>100){ echo '没有这么多分'; } else if($s>0

4年前    添加回复 0

回复
大白兔

大白兔

}elseif($score>=80 && $score<90){ echo "上清华有希望"; }elseif($score>=90 && $score<100){ echo "可以直接被哈佛录取"; }elseif($score==100){ echo

4年前    添加回复 0

回复
大白兔

大白兔

<?php $score = $_POST['score']; if($score>0 && $score<60){ echo "不及格"; }elseif($score>=60 && $score<70){ echo "及格了,要努力"; }e

4年前    添加回复 0

回复
同同同同同同同

同同同同同同同

<form> <input type="text" name="num1"> <input type="submit" value="jisuan"> </form> <?php $dida=$_GET['num1']; //$dida=ra

4年前    添加回复 0

回复

我的html页面一提交,网页便显示出了我的php代码,求问是什么原因?

[最新 钟老师 的回答]phpStudy技术文章:https://www.php.cn/phpstudy.html

时间:1年前

为什么每次打开都会显示else的输出语句,即"不是一个数值类型或者小于0,请输入正确的分数。"?还有就是 为什么会显示$grades这个变量名没有定义?

[最新 李铁蛋 的回答]你这端代码应该没有错误,我特意复制了一下你的代码跑了一下.....  除了和你的文件名起的不一样 正常运行 只要你输入的是正常的数字  要是说变量未定义   你就检查一下你的拼写问题吧 

时间:3年前

为什么值传不过去

[最新 ringa_lee 的回答]厉害厉害

时间:3年前

大于100输出不了

[最新 文富 的回答]嗯,谢谢

时间:4年前

作业的答案问题

[最新 红红火火恍恍惚惚 的回答]HTML页面        成绩        PHP页面

时间:4年前

PHP运行

[最新 phpcn_u15277 的回答]好的,谢谢了

时间:4年前

我嘗試使用看似可行的range()函數來完成作業,但運行上卻無法執行60分以上的分支,我想知道這種方式出錯的原因

[最新 猪哥 的回答]range() 生成的是一个数组,你POST过来的内容与range()进行比对(字符与数组无法比较),另外判断里面的等于是(==)两个等于号,你的判断条件全是一个=号,一个等于号是负值非判断。

时间:4年前

作业和疑问

[最新 o(-"-)o 的回答]虽然你的时间很早了,但是我也有同样的问题,把整个php文件代码显示了,求问为什么。。。

时间:5年前

随风而去

随风而去

11

1年前 0

浮世绘梦

浮世绘梦

作业 写一个网页cj.html,向panduan.php页面以post方式提交分数段。分数段和显示的结果如下,要求如下:

1年前 0

吢死丶情灭

吢死丶情灭

1年前 0

所有人

所有人

2020年02月26学习到现在

2年前 0

连锦鹏

连锦鹏

echo "抵达时间是" . $dida . "点" . "<br>";

2年前 0

lyz

lyz

rand(x,y);获取x-y区间的一个随机数

3年前 0

天黑请闭眼

天黑请闭眼

<form action='#' method='post'> <input type='text' name='score'> <input type='submit' value='提交分数'> </form> <?php $score = $_REQUEST['score']; if(is_numeric($score)){ if($score < 60){ echo "不及格"; } elseif($score > 60 && $score < 70){ echo "要努力"; } elseif($score > 70 && $score < 80){ echo "还不错"; } elseif($score >80 && $score < 90){ echo "上清华有希望"; } elseif($score >90 && $score < 100){ echo "你这辈子没希望了"; } elseif($score == 100){ echo "更没希望了"; } elseif($score > 100){ echo "爱因斯坦转世啊,思密达!" } else{ echo "不是一个数值类型或小于0 请输入正确的分数" } } ?>

3年前 0

、宿命

、宿命

<form action="run.php" method="post"> <input type="text" name="cj"> <input type="submit" value="查询"> </form> <?php $cj = $_POST['cj']; if(is_numeric($cj)){ if ($cj<60 && $cj>0) { echo "不及格"; }elseif ($cj<70 && $cj>=60) { echo "及格了,要努力"; }elseif ($cj<80 && $cj>=70) { echo "还不错"; }elseif ($cj<90 && $cj>=80) { echo "上清华有希望"; }elseif($cj<100 && $cj>=90){ echo "你这辈子没希望了"; }elseif($cj==100){ echo "更没希望了"; }elseif($cj>100){ echo "爱因斯坦转世啊,思密达!"; } }else{ echo "不是一个数值类型或者小于0 请输入正确的分数。"; } ?>

3年前 0

waiting for.

waiting for.

<form method='post'> <input type='text' name='mark'/> <input type='submit' value='提交'/> </form> <?php $mark=$_POST['mark']; //if(is_numeric($mark)) //{ if($mark>0 && $mark<60) {echo "你的分数不及格!";} else if($mark>60 && $mark<70) {echo "你的分数及格了,要继续努力!";} else if($mark>70 && $mark<80) {echo "还不错!";} else if($mark>80 && $mark<90) {echo "上清华有希望!";} else if($mark>90 && $mark<100) {echo "你这辈子没希望了!";} else if($mark==100) {echo "更没希望了!";} else if($mark>100) {echo "爱因斯坦转世啊!";} //} else{echo "不是一个数值类型或者小于0 请输入正确的分数";} ?>

3年前 0

wolf

wolf

<?php header("content-type:text/html;charset=utf-8"); // var_dump($_POST); 验证表单数字是否传过来 $grade=$_POST['grade']; if ($grade>=0&&$grade<60){ echo "不及格"; }else if ($grade>=60&&$grade<70){ echo "及格了,继续努力"; } else if ($grade>=70&&$grade<80){ echo "还不错"; } else if ($grade>=80&&$grade<90){ echo "上清华有希望"; } else if ($grade>=90&&$grade<100){ echo "你这辈子没希望了"; } else if ($grade==100){ echo "更没希望了"; } else if ($grade>100){ echo "爱因斯坦转世啊,思密达!"; } else if($grade<0){ echo "请输入正确的分数"; } ?>

3年前 0

wolf

wolf

cj.html代码: <!DOCTYPE HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <BODY> <!-- 将表单数据提交给panduan.php中处理 --> <form action="http://localhost/panduan.php" method="post"> <input type="text" name="grade" id="grade" placeholder="请输入成绩"> <input type="submit" id="submit" value ="提交"/> </form> </BODY> </HTML>

3年前 0

阿海

阿海

分类判断

3年前 0

3期-Shawn

3期-Shawn

王同学是生活极度充满娱乐化和享受生活的人。他抵达北京或者大连的时候做的事,他抵达后做的事情,如下: 半夜到达,先去夜店参加假面舞会 早上抵达,爱在酒店泡个澡 中午到达,会吃上一份神户牛肉 晚上到达,总爱去找朋友去述说一下心中的寂寞 我们来了解一下他的语法规则【知识点要求:默写】 <?php if(判断语句1){ 执行语句体1 }elseif(判断语句2){ 执行语句体2 }else if(判断语句n){ 执行语句体n }else{ 最后的else语句可选 } //后续代码 ?> 上述结构表示: 如果判断语句1的值为真,则执行语句体 1。执行完成后进入后续代码段。 否则转入后面的判断语句2(elsif),判断语句2若为真,则执行语句体 2。 否则转入后面的判断语句n(elsif),判断语句2若为真,则执行语句体 n。 如果均不匹配则执行else语句。这种循环嵌套可以不含else语句,即只含有if、elseif语句。 注:elseif()也可以写成else if() 我们把上面的代码用流程图的形式表示清楚就如下图了: 2015-08-08/55c5966bd7af5 我们可以把王思总同学的例子通过PHP代码表示出来,代码表示结果如下: <?php //定义一个随机变量,抵达时间,随机0点至23点 $dida = rand(0,23); if($dida > 6 && $dida < 10){ echo '我爱泡澡'; }else if($dida >10 && $dida < 14){ echo '吃神户牛肉'; }else if($dida >=19 && $dida < 22){ echo '找一个朋友聊聊内心的寂寞'; }elseif($dida > 22 && $dida <= 23){ echo '泡澡'; }elseif($dida >= 1 && $dida <3){ echo '泡澡'; }else{ echo '睡觉或者工作'; } ?>

4年前 0

3期-Shawn

3期-Shawn

我们来了解一下他的语法规则【知识点要求:默写】 <?php if(判断语句1){ 执行语句体1 }elseif(判断语句2){ 执行语句体2 }else if(判断语句n){ 执行语句体n }else{ 最后的else语句可选 } //后续代码 ?> 上述结构表示: 如果判断语句1的值为真,则执行语句体 1。执行完成后进入后续代码段。 否则转入后面的判断语句2(elsif),判断语句2若为真,则执行语句体 2。 否则转入后面的判断语句n(elsif),判断语句2若为真,则执行语句体 n。 如果均不匹配则执行else语句。这种循环嵌套可以不含else语句,即只含有if、elseif语句。 注:elseif()也可以写成else if()

4年前 0

WebQD

WebQD

<?php header("content-type:text/html;charset=utf-8"); $s=$_POST['name']; $dida=rand(0,100); if($s > 0 && $s <60){ echo '不及格'; }elseif($s > 60 && $s <70){ echo '及格了,要努力'; }elseif($s >70 && $s <80){ echo '还不错'; }elseif($s >80 && $s <90){ echo '上清华有希望'; }elseif($s >90 && $s<100){ echo '你这辈子没希望了'; }elseif($s==100){ echo '更没希望了'; } ?>

4年前 0

课件暂不提供下载,工作人员正在整理中,后期请多关注该课程~