PHP功能实现小练习题

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

 其时我给了他大体的思路如下:
1,计算今天到下个月的天数,能够用两个数组一个数组存取有30天的月份,一个数组存取有31天的月份(当然还有29,28天的,这个能够自己再细心研讨,上面只是举例)!然后获取当天的月份看在哪个数组中确定当前月份的总天数,之后就能够输出当前天到月末的所有天数啦!
2,让用户挑选三种字体色彩,我觉得一个表单就行啦,用checkbox让用户挑选喜欢的三种色彩!

//$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就可以输出想要的效果

相关推荐
龙哥·三年风水10 小时前
活动系统开发之采用设计模式与非设计模式的区别-后台功能总结
设计模式·php·tinkphp6
白总Server12 小时前
MySQL在大数据场景应用
大数据·开发语言·数据库·后端·mysql·golang·php
yukai0800812 小时前
Python 全栈系列271 微服务踩坑记
python·微服务·php
向宇it13 小时前
一张图解析FastAdmin中的弹出窗口的功能(备份)
php·fastadmin
最美不过下雨天啊14 小时前
php curl发送get、post请求
php
极术社区21 小时前
ResNeXt学习
开发语言·学习·计算机视觉·php
qianer0_01 天前
php实现kafka
kafka·php·linq
Flying_Fish_roe1 天前
linux-网络管理-网络抓包
linux·网络·php
Dovir多多1 天前
渗透测试入门学习——php文件上传与文件包含
前端·后端·学习·安全·web安全·php
stark张宇2 天前
lnmp - 登录技术方案设计与实现
php·jwt