前几天在百度知道里面看到有位网友询问如何制作一下的小程序:用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
欢迎分享本文,转载请注明本文出处和地址