一、提问
假设学生成绩在0-100分之间,并分为ABCDE5个等级。
100-90为A级,89-80为B级,79-70为C级,69到60为D级,59以下为E级。
判断一个学生的分数等级。
(暂不涉及表单传参)
二、思路
先给个名字变量,然后再给个分数变量,最后就是一顿if判断了。
三、代码如下
//定义一个学生分数,后期都是通过传参的方式输出分数了。
$name = '小狼';
$num = 75;
//进行判断,以下是严谨的写法
if(is_int($num) || is_float($num)){
if($num >=90 && $num<=100){
$str = 'A级';
}elseif($num >=80 && $num <90){
$str = 'B级';
}elseif($num >=70 && $num <80){
$str = 'C级';
}elseif($num >=60 && $num <70){
$str = 'D级';
}elseif($num >=0 && $num <60){
$str = 'E级';
}else{
$str = '学生成绩必须在1-100之间';
}
}else{
$str = '输入的学生成绩不是数值!';
}
//输出结果
// echo $str;
$a = "<h2>学生成绩等级</h2>";
$a .= "<p>学生姓名:{$name}</p>";
$a .= "<p>学生分数:{$num}</p>";
$a .= "<p>学生等级:{$str}</p>";
echo $a;
四、知识点
1.数据类型
php有三种数据类型,分别是标量类型、复合类型、特殊类型。
标量类型又分:
boolean(布尔型)
integer(整型)
float(浮点型)
string(字符串型)
复合类型又分:
array(数组)
object(对象)
特殊类型又分:
resource(资源)
NULL(空值)
1)布尔型
$a = turn; //将turn赋予变量$a,其本身代表真
$b = false; //将false赋予变量$b,其本身代表假
(这让我想起一部动漫片段,具体名字忘了,只记住那句:“在这0与1,真与假的世界……”)
2)整型
分为2进制、八进制、十进制、16进制
$oct = 073; //前面加个0的,就表示8进制
$dec = 59; //平常我们使用的就是十进制
$hex = 0x3b; //前面加0x则表示十六进制。由于超出了10,所以就用abc来填补咯。
3)浮点型(常说的带小数点的)
有两种格式
$a = 1.22; //这是标准格式,也就是普通的带小数点
$b = 33.22;
$C = 1.25E5; //这是科学计数法的格式,即1.25乘以10的5次方
$D = 2.12e-3; //2.12乘以10的-3次方
4)字符串
总之,在单引号里的都将是字符串
而双引号因附加了转义的效果,所以会出现不同的结果
$name = 'yz';
$city = '北京';
echo $name."在 $city"; //这个因双引号会显示:yz在北京
echo $name.'在 $city'; //这个就只能显示:yz在$city
2.逻辑运算符(与或非)
虽然“&&”、“||”与“and”、“or” 的功能相同,但前者比后者的优先级更高。
对于“与”操作和“或”操作,在实际开发中需要注意两点
1)当使用“&&”连接两个表达式时,如果左边表达式的值为false,则彻底结束输出运算结果,不再执行下去。
2)当使用“||”连接两个表达式时,如果左边的表达式值为turn,则直接输出结果,不再执行下去。