前几天在百度知道里面看到有位网友询问如何制作一下的小程序:用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

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

PHP小练习题的更多相关文章

  1. 学习笔记之09小练习题(js:从小到大输出三个任意数,查成绩,相亲题,查体重,一元二次方程求根)

    <script type="text/javascript"> /*第一题.输入三个整数,x,y,z,最终以从小到大的方式输出. 注意小点:1 字符串的拼接是用+,数学 ...

  2. Python入门 .变量 常量 基础数据类型 用户输入 流程控制语句 小练习题

    # 2.name = input(“>>>”)通过代码来验证name变量是什么数据类型?--str name = input(">>>") pr ...

  3. re模块的结果小练习题

    1.匹配标签 import re ret = re.search('<(?P<tag_name>\w+)>\w+</(?P=tag_name)>','<h1& ...

  4. python 小练习题做起来

    1# 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并# (按字母顺序排列), 输出到一个新文件C中.with open('a') as f1: a=f1.read()with op ...

  5. python基础的几个小练习题

    题目: 1.写一个程序,判断2008年是否是闰年. 2.写一个程序,用于计算2008年10月1日是这一年的第几天?(2008年1月1日是这一年的第一天) 3.(文件题)有一个“record.txt”的 ...

  6. js 小练习题

    <script> /*1.结论,IIFE中运行顺序3,1,执行test(4),会传递参数*/ /*var a=5; var test = (function(a){ console.log ...

  7. JS循环、数组与练习题

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. python关于for循环的几个函数

    1.enumerate:返回2个值,1是当前的for循环的第几轮,2是循环得到的数值 enumerate works by supplying a corresponding index to eac ...

  9. Java 控制台输入数字 输出乘法表(代码练习)

    最近,回忆了一些刚学习Java时经常练习的一些小练习题.感觉还是蛮有趣的,在回顾时想起好多学习时的经历和坎坷,一道小小的练习题要研究半天,珍重过往,直面未来.下面贡献代码,Java 控制台输入数字 输 ...

随机推荐

  1. apache管理命令

    常用的 httpd.exe -k [install(安装).uninstall(卸载).start(启动).stop(停止).restart(重启)] 说明:要执行命令,需进入到apache安装目录/ ...

  2. Sass基础(二)

    五.嵌套 在Sass中,嵌套有三种方式:选择器嵌套.属性嵌套.伪类嵌套 1.选择器嵌套 2.属性嵌套 3.伪类嵌套 六.混合宏 当样式变得越来越复杂,需要重复使用大段的样式时,使用变量就无法达到目的了 ...

  3. SublimeText插件eslint : 语法检测

    参考: http://www.tuicool.com/articles/faANRvj 安装之后的效果: 误用了 = ,在文件保存时就会被提示,直接顺手改掉就行了,方便的不行 步骤1:Sublime集 ...

  4. 对MVVM思想的在认识

    如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革.它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model ...

  5. 安卓开发:Please ensure that adb is correctly located at……问题解决方案

    话不多说,每一个开发安卓的菜鸟都会遇到这种问题. Please ensure that adb is correctly located at 'E:\种子下载\adt-bundle-windo... ...

  6. Vue.js-创建Vue项目(Vue项目初始化)并不是用Webstrom创建,只是用Webstrom打开

    我犯的错误:作为vue小白,并不知道还要单独去创建初始的vue项目,于是自己在webstrom中建了一个Empty Project, 在其中新增了一个js文件,就开始import Vue from “ ...

  7. IOS通讯录的隐藏标签【电话】的特殊功能(在IOS11已失效)

    这功能比较适合有强迫症,爱折腾的人哈!! 规范了通讯录标签,以后可以轻松的知道别人是用短号还是亲情网给你打电话. 如果是长号还可以显示归属地. 也许从IOS8(不太清楚)开始自带了号码归属地显示功能, ...

  8. ring0 进程隐藏实现

    最近在学习内核编程,记录一下最近的学习笔记. 原理:将当前进程从eprocess结构的链表中删除 无法被! process 0 0 看见 #include "HideProcess.h&qu ...

  9. 屏蔽各类弹窗广告(WPS、智能云输入法)

    托盘中的广告“领取双11红包,最高1111元”的罪魁祸首是“智能云输入法” 广告在托盘中闪动: 结束SCSkinInst.exe后,托盘中的广告消失: 智能云输入法的安装路径可参考: C:\Progr ...

  10. MSD_radix_sort

    一.这次是在上一次尝试基础上进行的,预期是达到上次性能的9倍. MSD的基本手法就是不断切片.每一步都是把整体数据切割成256片,如上图所示,实际情况切片未必均匀,有的slice内可能一个元素也没有. ...