共计 1944 个字符,预计需要花费 5 分钟才能阅读完成。
用 php 语言设计一个小程序,计算今天到达下月的天数、全部输出这些天数,并使得每天的日期以三种颜色循环显示,设置三个表单,让用户选择字体颜色,然后循环输出这三种颜色反映到输出的那些日期上 。今天正好有时间就给他做出来啦,这个其实并没有什么实际用处,但是新手朋友们可以当做一个PHP 的小练习项目,用他来熟悉或者加深对 PHP 的认知!
当时我给了他大体的思路如下:
1, 计算今天到下个月的天数,可以用两个数组一个数组存取有 30 天的月份,一个数组存取有 31 天的月份(当然还有 29,28 天的,这个可以自己再仔细研究,上面只是举例)!然后获取当天的月份看在哪个数组中确定当前月份的总天数,之后就可以输出当前天到月末的所有天数啦!
2, 让用户选择三种字体颜色,我觉得一个表单就行啦,用 checkbox 让用户选择喜欢的三种颜色!
3, 循环输出三种颜色,我觉得可以这样!
//$color 是存储三种颜色的数组
//$date 是存储所有天数的数组
$i = 0;
$content = '';
foreach ($date as $value) {$content .= '<span style="color:'.$color[$i].'">'.$value.'</span>';
$i ++;
if ($i > 2) $i = 0;
}
这样 $content 就包含了所有天数而且拥有颜色的样式!
下面是自己编写出来的以上 PHP 小练习项目的具体代码,大家可以看看,不对的地方请指正哈!
首先 HTML 部分代码,让用户自行选择颜色(没有规定多少种)
<form method="post">
<input type="checkbox" value="red" name="color[]"/> 红
<input type="checkbox" value="black" name="color[]"/> 黑
<input type="checkbox" value="blue" name="color[]"/> 蓝
<input type="checkbox" value="yellow" name="color[]"/> 黄
<input type="checkbox" value="green" name="color[]"/> 绿
<input type="submit" value="提交" name="send"/>
</form>
然后是 PHP 后台代码
if (isset($_POST['send'])) {
// 获取颜色
$color = $_POST['color'];
// 计算天数
$date = date('Y-m-d', time());
$dates = explode('-', $date);
$sy = array('1','3','5','7','8','10','12');
$ss = array('4','6','9','11');
// 判断
if (in_array($dates[1], $sy)) {$day = range($dates[2], 31);
} elseif (in_array($dates[1], $ss)) {$day = range($dates[2], 30);
} else {if (($dates[0]%4 == 0 && $dates[0]%100 != 0)
|| ($dates[0]%100 == 0 && $dates[0]%400 == 0)) {$day = range($dates[2], 29);
} else {$day = range($dates[2], 28);
}
}
// 将天数与颜色搭配
$i = 0;
$content = '';
foreach ($day as $value) {$content .= '<span style="color:'.$color[$i].'">'.$value.'</span> ';
$i ++;
if ($i > (count($color)-1)) $i = 0;
}
echo $content;
这样 $content 就可以输出想要的效果啦!