当前位置: 代码迷 >> PHP >> PHP小习题
  详细解决方案

PHP小习题

热度:63   发布时间:2016-04-28 16:47:01.0
PHP小练习题

前几天在百度知道里面看到有位网友询问如何制作一下的小程序:用php语言设计一个小程序,计算今天到达下月的天数、全部输出这些天数,并使得每天的日期以三种颜色循环显示,设置三个表单,让用户选择字体颜色,然后循环输出这三种颜色反映到输出的那些日期上。今天正好有时间就给他做出来啦,这个其实并没有什么实际用处,但是新手朋友们可以当做一个PHP的小练习项目,用他来熟悉或者加深对PHP的认知!

    

PHP小练习题

 

     当时我给了他大体的思路如下:

    1,计算今天到下个月的天数,可以用两个数组一个数组存取有30天的月份,一个数组存取有31天的月份(当然还有29,28天的,这个可以自己再仔细研究,上面只是举例)!然后获取当天的月份看在哪个数组中确定当前月份的总天数,之后就可以输出当前天到月末的所有天数啦!

    2,让用户选择三种字体颜色,我觉得一个表单就行啦,用checkbox让用户选择喜欢的三种颜色!

    3,循环输出三种颜色,我觉得可以这样!

1
2
3
4
5
6
7
8
9
//$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部分代码,让用户自行选择颜色(没有规定多少种)

1
2
3
4
5
6
7
8
<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后台代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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就可以输出想要的效果啦!

想要每天及时获取王业楼的个人博客更新的内容吗?赶快添加微信公众号“ly89cn”,或者扫描下方的二维码吧!

本文来源于王业楼的个人博客,本文地址:http://www.ly89.cn/detailB/64.html

欢迎分享本文,转载请注明本文出处和地址

  相关解决方案