学生管理系统——PHP

这个项目当作是热身,php作为一种后端的脚本语言可以和多种语言混合使用。

但是当我开始写这个小项目的时候。最头疼的问题是css看 不懂。额。。。。。。。

//array()数组
	$info = array('id'=>1,'name'=>'Tom');
	echo $info['id'];//输出1
	echo "<br />";
	echo $info['name'];//输出Tom

 如果想查看数组的所有元素
 可以使用print_r()函数或者 var_dump()这两个函数进行查看


	$byc = array('id'=>1,'name'=>'zyz','age'=>22,'num'=>2017024416);
	print_r($byc);
	echo "<br />";
	var_dump($byc);
	//分别输出
	/*
	 * Array ( [id] => 1 [name] => zyz [age] => 22 [num] => 2017024416 ) 
	array(4) { ["id"]=> int(1) ["name"]=> string(3) "zyz" ["age"]=> int(22) ["num"]=> int(2017024416) }
	 * 
	 */

 删除数组
php提供的unset()函数既可以删除数组中的某个元素也可以删除整个数组

<?php

$byc = array('id'=>1,'name'=>'zyz','age'=>22,'num'=>2017024416);
unset($byc['id']);//删除数组中的id
print_r($byc);
unset($byc);//删除整个数组
print_r($byc);
/*
    输出
    Array ( [name] => zyz [age] => 22 [num] => 2017024416 ) 
    Notice: Undefined variable: byc in E:\WWW\self\self.php on line 8
*/
?>
<?php
//遍历数组
$fruit = array('apple','pear');
foreach($fruit as $key => $value)
{
    echo $key.'---'.$value.'   ';
    //输出
    //0---apple 1---pear
}
?>
<?php
//遍历数组
$fruit = array('apple','pear');
foreach($fruit as $key => $value)
{
    echo $key.'---'.$value.'   ';
    //输出
    //0---apple 1---pear
}
echo "<br />";
foreach($fruit as $value)
{
    echo $value.'  ';
    //输出apple   pear  
}
//php内置函数
?>

explode()函数

<?php
    //PHP内置函数
    //explode用一个字符串分割另一个字符串
    var_dump(explode('n','banana'));
    echo "<br />";
    //array(3) { [0]=> string(2) "ba" [1]=> string(1) "a" [2]=> string(1) "a" } 

    var_dump(explode('n','banana',2));
    echo "<br />";
    //array(2) { [0]=> string(2) "ba" [1]=> string(3) "ana" } 

    var_dump(explode('n','banana',-2));
    echo "<br />";
    //array(1) { [0]=> string(2) "ba" } 

    var_dump(explode('n','banana',0));
    echo "<br />";
    //array(1) { [0]=> string(6) "banana" }

    var_dump(explode('p','itcast'));
    echo "<br />";
    //array(1) { [0]=> string(6) "itcast" } 

?>

常用的字符串函数

<?php
    $str="123456789789";
    $len = strlen($str);//获得字符串的长度
    echo $len;
    echo "<br />";

    $pos = strrpos($str,"789");//获得字符串在目标函数中最后一次出现的位置
    echo $pos;
    echo "<br />";
    $arr[0]=1997;
    $arr[1]=11;
    $arr[2]=29;

    $str_arr = implode('-',$arr);
    echo $str_arr;
    echo "<br />";

    $str1=str_replace($str,"789","abc");
    echo $str1;
    echo "<br />";

strlen($str);//返回字符串长度 mb_strlen($str) 可以返回中文字符长度;

strtolower($str);//字母转小写

strtoupper($str);//字母转大写

ucwords($str);//每一个单词的首字母转大写

ucfirst($str);//首字母转大写

str_replace('a','b',$str);//b替换$str 中的a 区分大小写  ;

str_ireplace('a','b',$str);//替换 不区分大小写

htmlspecialchars($str,ENT_NOQUOTES);
//字符串转换为html 实体 ENT_COMPT(默认只编译双引号)ENT_QUOTES单引号双引号都编译,ENT_NOQUOTES不编译任何引

trim($str);//删除字符串前后(左右)空格

ltrim($str);//只删除字符串左侧的空格

rtrim($str);//只删除字符串右侧的空格

//trim加第二个参数 就是移除指定的字符集 如ltrim($str,'0..9') 移除左侧数字开头的字符

strpos($str,'a');//字符串a 在$str 第一次出现的位置 索引0开始 没有出现返回false 区分大小写

stripos($str,'a');//同上 但是不区分大小写

strrpos($str,'a');//字符串a 在$str 最后一次出现的位置 索引0开始 没有出现返回false 区分大小写

strripos($str,'a');//同上 但是不区分大小写

substr($str,0,3);//截取字符串 $str 的第一个字符 截取长度3 长度不填默认截取到最后  参数为负数则倒数

strstr($str,'a');//截取字符串 $str 中的第一个字符'a'后的字符串 如 sabc -> abc

strrchr($str,'a');//截取字符串 $str 中最后一一个字符'a'后的字符串

strrev($str);//字符串反转 abcd->dcba

md5($str);//字符串MD5加密

str_shuffle($str);//随机打乱字符串顺序

explode('-',$str);//指定分隔符分割字符串 返回数组 ‘-’ 分割$str

implode('-',$str);//数组拼接字符串 与explode()相反

?>

常用的数组排序函数

  • sort() - 以升序对数组排序
  • rsort() - 以降序对数组排序
  • asort() - 根据值,以升序对关联数组进行排序
  • ksort() - 根据键,以升序对关联数组进行排序
  • arsort() - 根据值,以降序对关联数组进行排序
  • krsort() - 根据键,以降序对关联数组进行排
  • <?php
    $cars=array("Volvo","BMW","SAAB");
    sort($cars);
    ?>
    
    /*
    BMW
    SAAB
    Volvo
    */
    <?php
    $numbers=array(3,5,1,22,11);
    sort($numbers);
    ?>
    
    /*
    1
    3
    5
    11
    22
    
    */
    <?php
    $cars=array("Volvo","BMW","SAAB");
    rsort($cars);
    ?>
    //降序排序
    <?php
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    asort($age);
    ?>
    <?php
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    ksort($age);
    ?>

    好了到了这一步一些基础的php也介绍的差不都了

下面开始着手解决这个小项目的源代码问题

下面的代码就是一个学生信息的完整的展示

<?php
	//定义变量保存学生资料
	$name = '王六';			//保存学生的姓名
	$birth = '1996-08-07';	//保存学生的出生日期
	$subject = 'PHP';		//保存学生的所属学科
	$snum = '0150427001';	//保存学生的学号

	//分割字符串,获取学生出生的年、月、日
	$temp = explode('-',$birth);
	
	$stu_by = $temp[0];
	$stu_bm = $temp[1];
	$stu_bd = $temp[2];

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

	//计算学生从出生到当前年的周岁
	$age = $cur_y - $stu_by;
	//判断学生是否已过生日
	if($cur_m < $stu_bm || $cur_m==$stu_bm && $cur_d<$stu_bd){
		$age--;
	}

	//判断学生的日期是否是两位数
	if($stu_bd < 10){
		$stu_bd = '0'.$stu_bd;
	}
	$date = "$stu_bm.$stu_bd";
	//定义保存星座图片名称的变量
	$lev = '';
	if($date >=1.21 && $date <= 2.19){
		$const = '水瓶座';
		$lev = 1;
	}elseif($date >=2.20 && $date <= 3.20){
		$const = '双鱼座';
		$lev = 2;
	}elseif($date >=3.21 && $date <= 4.20){
		$const = '白羊座';
		$lev = 3;
	}elseif($date >=4.21 && $date <= 5.21){
		$const = '金牛座';
		$lev = 4;
	}elseif($date >=5.22 && $date <= 6.21){
		$const = '双子座';
		$lev = 5;
	}elseif($date >=6.22 && $date <= 7.22){
		$const = '巨蟹座';
		$lev = 6;	
	}elseif($date >=7.23 && $date <= 8.23){
		$const = '狮子座';
		$lev = 7;
	}elseif($date >=8.24 && $date <= 9.23){
		$const = '处女座';
		$lev = 8;
	}elseif($date >=9.24 && $date <= 10.23){
		$const = '天秤座';
		$lev = 9;
	}elseif($date >=10.24 && $date <= 11.22){
		$const = '天蝎座';
		$lev = 10;
	}elseif($date >=11.23 && $date <= 12.21){
		$const = '射手座';
		$lev = 11;
	}else{
		$const = '魔羯座';
		$lev = 12;
	}
	
	//定义学生个性标签
	$label = '勇敢,低调,直率,执着,善良,乐活族,手机控,90后';
	//分割学生个性标签
	$labels = explode(',',$label);
?>
<!doctype html>
<html>
 <head>
  <meta charset="utf-8">
  <title>判断学生星座</title>
 </head>
 <style>
    .detial{border:2px solid #FCD5B5;background:#FDEADA;float:left;line-height:40px;margin:20px;position:relative;}
	.detial table{margin:20px 65px 40px;}
	.detial table th{border-bottom:2px dotted #FAC090;padding-bottom:5px;}
	.detial table td:nth-child(1){min-width:85px;}
	.icon-top{width:40px;height:61px;position:absolute;top:0;margin-top:-15px;margin-left:-10px;background:url('./images/icon_top.png');background-size:100% auto;}
	.icon-bottom{width:80px;height:39px;position:absolute;right:0;bottom:0;background:url('./images/icon_bottom.png');background-size:100% auto;}
    .const span{line-height:60px;}
	.const img{width:50px;height:50px;border-radius:50px;border:1px solid #74A4CD;vertical-align:middle;}
	.labels span{padding:3px 5px;margin:0px 10px 10px 0px;font-family:'simsun'; text-align:center; color:#444; font-size:15px;white-space:nowrap;display:inline-block;line-height:20px;}
	.labels .blue{background-color:#DEF2FE;border:1px solid #92E2FD; }
    .labels .red{background-color:#FFCCBF;border:1px solid #F58A6E;}
    .labels .yellow{background-color:#FEF6CE;border:1px solid #EAD483;}
    .labels .green{background-color:#E7F2D0;border:1px solid #90D52D;}
 </style>
 <body>
	<div class="detial">
		<table>
			<tr>
				<th colspan="3">学生个性标签</th>
			</tr>
			<tr>
				<td>姓  名:</td>
				<td><?php echo $name;?></td>
			</tr>
			<tr>
				<td>出生日期:</td>
				<td><?php echo $birth;?></td>
			</tr>
			<tr>
				<td>年  龄:</td>
				<td><?php echo $age;?></td>
			</tr>
			<tr>
				<td>学  科:</td>
				<td><?php echo $subject;?></td>
			</tr>
			<tr>
				<td>学  号:</td>
				<td><?php echo $snum;?></td>
			</tr>
			<tr>
				<td>星  座:</td>
				<td class="const">
					<span><?php echo $const;?></span>
					<img src="./images/<?php echo $lev.'.png';?>">
				</td>
			</tr>
			<tr>
				<td>个性标签:</td>
				<td class="labels">
				  <!--遍历学生个性标签并展示-->
					<?php
						foreach($labels as $v){
							//定义数组保存标签块展示颜色
							$class_name = array('blue','red','yellow','green');
							$index = array_rand($class_name);
							echo '<span class="'.$class_name[$index].'">'.$v.'</span>';
						}
					?>
				 </td>
			</tr>
		</table>
		<div class="icon-top"></div>
		<div class="icon-bottom"></div>
	</div>
 </body>
</html>

百度网盘源码下载

链接:https://pan.baidu.com/s/1fzSGcRRAYwsjT2PiqffdXA 
提取码:gzwi

猜你喜欢

转载自blog.csdn.net/qq_41221411/article/details/86723843