PHP基础案例三:判断学生星座

一、需求分析

星座是根据出生月日(11~14位)进行匹配;例如,当出生日期在3月21日和4月19日之间就为白羊座,其他星座按此继续编写。

二、设计思路

1、 星座的划分是两个日期的区间,当日期小于10日的学生出生日,如何防止比较出错?

2、 如何对星座进行判断?

三、知识储备

1、在 PHP 中,提供了下列条件语句:

· if 语句 – 在条件成立时执行代码

· ? : -三元运算符

· if…else 语句 – 在条件成立时执行一块代码,条件不成立时执行另一块代码

· if…else if….else 语句 – 在若干条件之一成立时执行一个代码块

· switch 语句 – 在若干条件之一成立时执行一个代码块

2、if 语句

用于仅当指定条件成立时执行代码。

语法

if (条件)
 {
 条件成立时要执行的代码;
 }

3、if…else语句

在条件成立时执行一块代码,条件不成立时执行另一块代码。

语法

if (条件)
 {
 条件成立时执行的代码;
 }
 else
 {
 条件不成立时执行的代码;
 }

4、if…else if….else 语句

在若干条件之一成立时执行一个代码块。.

语法

if (条件)
 {
 if 条件成立时执行的代码;
 }
 else if (条件)
 {
 elseif 条件成立时执行的代码;
 }
 else
 {
 条件不成立时执行的代码;
 }

5、Switch 语句

希望有选择地执行若干代码块之一。

语法

switch (n) { 
case label1: 如果 n=label1,此处代码将执行; break; 
case label2: 如果 n=label2,此处代码将执行; break; 
default: 如果 n 既不等于 label1 也不等于 label2,此处代码将执行; 
}

四、代码实现

1、定义变量保存学生资料

$name = '王六';//保存学生的姓名
$birth = '2003-08-07'; //保存学生的出生日期

2、分割字符串,获取学生出生的年、月、日

$temp = explode('-',$birth);  
$stu_by = $temp[0];
$stu_bm = $temp[1];
$stu_bd = $temp[2];

3、获取当前时间的年份、月份和日期

$cur_y = date('Y'); //4位数字完整表示的年份
$cur_m = date('n'); //数字表示的月份,没有前导零,1~12
$cur_d = date('j'); //月份中的第几天,没有前导零,1~31

4、判断学生的日期是否是两位数

if($stu_bd < 10){
  $stu_bd = '0'.$stu_bd;
}
$date = "$stu_bm.$stu_bd";

5、判断星座

  if($date >=1.21 && $date <= 2.19){
              $const = '水瓶座';
       }elseif($date >=2.20 && $date <= 3.20){
              $const = '双鱼座
       }elseif($date >=3.21 && $date <= 4.20){
              $const = '白羊座';
       }elseif($date >=4.21 && $date <= 5.21){
              $const = '金牛座';
       }elseif($date >=5.22 && $date <= 6.21){
              $const = '双子座';
       }elseif($date >=6.22 && $date <= 7.22){
              $const = '巨蟹座';
       }elseif($date >=7.23 && $date <= 8.23){
              $const = '狮子座';
       }elseif($date >=8.24 && $date <= 9.23){
              $const = '处女座';
       }elseif($date >=9.24 && $date <= 10.23){
              $const = '天秤座';
       }elseif($date >=10.24 && $date <= 11.22){
              $const = '天蝎座';
       }elseif($date >=11.23 && $date <= 12.21){
              $const = '射手座';
       }else{
              $const = '魔羯座';
       }

五、结果展示

0301.JPG

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » PHP基础案例三:判断学生星座