前几天在百度知道里面看到有位网友询问如何制作一下的小程序:用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. 在vs2010使用EF出现CS0012: 类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义

    网上查了一通都是在web.config中配置 System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c56 ...

  2. 如何绘制ER图

    先画出多个实体(用长方形表示),然后是联系类型(菱形),和属性(椭圆).

  3. [c/c++]判断一个字符串是不是UTF-8字符串

    #define CHECK_LENGTH 20       //检查是否为utf8编码时所检查的字符长度  int is_utf8_string(char *utf) { int length = s ...

  4. Razor 语法糖常规用法

    1.隐匿代码表达式 例: @model.name 会将表达式的值计算并写入到响应中,输入时采用html编码方式 2.显示表达式 例:@(model.name)会将输入@model.name字符串 3. ...

  5. lucene中Field简介

    Lucene 6.1.0中存在的field种类如下(后缀是Field): 下面介绍几个常用的Field类型: TextField A field that is indexed and tokeniz ...

  6. selenium googleDrive

    http://chromedriver.storage.googleapis.com/index.html?path=2.1/下载地址 把googledriver.exe 放到google浏览器下目录 ...

  7. Azure 1 月新公布

    Azure 1 月新发布:Microsoft Power BI Embedded 公共预览和计算机视觉 API 标准版的更新以及 Azure IoT 网关 SDK 和中心设备管理新功能正式发布以及关于 ...

  8. php的yii框架开发总结1

    最近用php的yii框架写了一个小的demo,虽然不复杂,但是也学习了很多东西,现在总结一下. 项目需求:为几个教研室写一个日报系统,每个人每天写日报,并且系统有自动实现发邮件功能. 额外要求:1.人 ...

  9. JavaScript 获取 当前日期和三十天以前日期

    //获取当前日期 var myDate = new Date(); var nowY = myDate.getFullYear(); var nowM = myDate.getMonth()+1; v ...

  10. Win10技巧:使用“照片”应用剪辑视频、添加特效

    Win10内置了很多实用的应用,你不仅可以通过“Win键+G”快速录制电脑屏幕,如软件操作.游戏界面等,你还可以利用“照片”应用来对视频进行快速的剪辑,把录制前后多余的内容去除,同时你也可以对游戏中的 ...