1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > php期末作业报告 期末作业(最终版).php

php期末作业报告 期末作业(最终版).php

时间:2021-06-21 04:13:18

相关推荐

php期末作业报告 期末作业(最终版).php

期末作业.php

header ("Content-type:text/html;charset=utf-8");

// 使用函数完成期末任务

//

/**

* 获得指定仓库的提交信息

* @param string $url 仓库地址,默认每次200个

* @return array 以数组形式返回提交的信息

*/

function getCommit($url='/api/v5/repos/DY12345678/DY/commits?=1&per_page=200') {

// 初始化curl工具

$ch = curl_init($url);

// 进行必要的配置

curl_setopt($ch, CURLOPT_HEADER, 0);

// 取消curl显示返回内容

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 跳过证书检查

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

//从证书中检查SSL加密算法是否存在

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);

// 执行curl

$data = curl_exec($ch);

// 对data进行解码,将其从json格式转化为php数组

$data = json_decode($data, true);

curl_close($ch);

return $data;

}

// 使用函数输出每周作业提交次数

function getCommitByWeek(array $data) {

// 提取每一次作业的提交时间

$commitDate = array();

foreach ($data as $key => $value) {

$commitDate[$key] = strtotime($data[$key]['commit']['commiter']['date']);

}

return $commitDate;

}

/**

* 生成学期周次节点

* @param string $start 课程开始日期

* @return array 包含19周上课时间节点的数组

*/

function weekly($start = '-03-05') {

for ($i = 0; $i <20 ;$i++) {

$data[$i] = strtotime("+" . $i . " week", strtotime($start));

}

return $data;

}

/**

* 获取每周作业推送次数

* @param array $commits 学生作业推送信息数组

* @return array 学生每周作业推送次数

*/

function getCountByWeek(array $commitDate = array()) {

// 先得到学期时间节点

$week = weekly();

// 初始化数组

$array = array();

// 逐一比较

for ($i = 0; $i < 19; $i++) {

$array[$i] = 0;

foreach ($commitDate as $key => $value) {

if ($value >= $week[$i] && $value <= $week[$i + 1]) {

$array[$i]++;

}

}

}

return $array;

}

/**

* 生成作业总报告

* @param array $data 全部提交信息

* @return void

*/

function report(array $data, array $countByWeek) {

utf8();

echo '我的作业地址是:/DY12345678/DY.git' . '

';

echo '提交次数:' . count($data) . '次。

';

$num = 0;

$key = 0;

foreach ($countByWeek as $key => $value) {

echo '第' . ($key + 1) . '周提交作业' . $countByWeek[$key] . '次。

';

if($value > 0)

{

$num++;

}

}

echo '总共提交了'.$num.'次。

';

if($num*10 > 100)

$num = 100;

echo '最后期末得分'.($num*10).'分。

';

}

// 设置页面编码为utf-8

function utf8() {

header("Content-type:text/html;charset=utf-8");

}

// 取得指定仓库的提交信息

$data = getCommit('/api/v5/repos/DY12345678/DY/commits?page=1&per_page=200');

// var_dump($data);exit;

$commitDate = getCommitByWeek($data);

$countByWeek = getCountByWeek($commitDate);

$num = 0;

//report($data, $countByWeek);

?>

#app-1{

width: 80%;

margin:auto;

}

.btn{

cursor: pointer;

}

代炎的作业信息

<?php foreach ($countByWeek as $key => $value): ?>

<?php echo '第'.($key + 1).'周作业提交:

';

if($value > 0)

{

$num++;

}

?>

<?php echo $countByWeek[$key]?>平时成绩<?php

if($num > 10)

$num = 10;

echo ($num*10).'分'; ?>

一键复制

编辑

Web IDE

原始数据

按行查看

历史

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。