PHP设计日历类一 (38),日历38
由两个文件组成:
第一个test.php
<style><span> table { border:1px solid #</span><span>050</span><span>; } .fontb { color:white; background:blue; } th { width:30px; } td,th { height:30px; text</span>-<span>align:center; } form { margin:0px; padding:0px; } </span></style> <?<span>php include </span><span>"</span><span>calendar.class.php</span><span>"</span><span>; $calendar</span>=<span>new</span><span> Calendar; $calendar</span>-><span>out</span>();
第二个日历类:calendar.class.php
<?<span>php </span><span>class</span><span> Calendar { </span><span>private</span> $year; <span>//</span><span>当前的年</span> <span>private</span> $month; <span>//</span><span>当前的月</span> <span>private</span> $start_weekday; <span>//</span><span>当月的第一天对应的是周几</span> <span>private</span> $days; <span>//</span><span>当前月一共多少天</span> <span> function __construct(){ $</span><span>this</span>->year=isset($_GET[<span>"</span><span>year</span><span>"</span>]) ? $_GET[<span>"</span><span>year</span><span>"</span>] : date(<span>"</span><span>Y</span><span>"</span><span>); $</span><span>this</span>->month=isset($_GET[<span>"</span><span>month</span><span>"</span>]) ? $_GET[<span>"</span><span>month</span><span>"</span>] : date(<span>"</span><span>m</span><span>"</span><span>); $</span><span>this</span>->start_weekday=date(<span>"</span><span>w</span><span>"</span>, mktime(<span>0</span>, <span>0</span>, <span>0</span>, $<span>this</span>->month, <span>1</span>, $<span>this</span>-><span>year)); $</span><span>this</span>->days=date(<span>"</span><span>t</span><span>"</span>, mktime(<span>0</span>, <span>0</span>, <span>0</span>, $<span>this</span>->month, <span>1</span>, $<span>this</span>-><span>year)); } function </span><span>out</span><span>(){ echo </span><span>'</span><span><table align="center"></span><span>'</span><span>; $</span><span>this</span>->chageDate(<span>"</span><span>test.php</span><span>"</span><span>); $</span><span>this</span>-><span>weeksList(); $</span><span>this</span>-><span>daysList(); echo </span><span>'</span><span></table></span><span>'</span><span>; } </span><span>private</span><span> function weeksList(){ $week</span>=array(<span>'</span><span>日</span><span>'</span>,<span>'</span><span>一</span><span>'</span>,<span>'</span><span>二</span><span>'</span>,<span>'</span><span>三</span><span>'</span>,<span>'</span><span>四</span><span>'</span>,<span>'</span><span>五</span><span>'</span>,<span>'</span><span>六</span><span>'</span><span>); echo </span><span>'</span><span><tr></span><span>'</span><span>; </span><span>for</span>($i=<span>0</span>; $i<count($week); $i++<span>) echo </span><span>'</span><span><th class="fontb"></span><span>'</span>.$week[$i].<span>'</span><span></th></span><span>'</span><span>; echo </span><span>'</span><span></tr></span><span>'</span><span>; } </span><span>private</span><span> function daysList(){ echo </span><span>'</span><span><tr></span><span>'</span><span>; </span><span>//</span><span>输出空格(当前一月第一天前面要空出来)</span> <span>for</span>($j=<span>0</span>; $j<$<span>this</span>->start_weekday; $j++<span>) echo </span><span>'</span><span><td> </td></span><span>'</span><span>; </span><span>for</span>($k=<span>1</span>; $k<=$<span>this</span>->days; $k++<span>){ $j</span>++<span>; </span><span>if</span>($k==date(<span>'</span><span>d</span><span>'</span><span>)) echo </span><span>'</span><span><td class="fontb"></span><span>'</span>.$k.<span>'</span><span></td></span><span>'</span><span>; </span><span>else</span><span> echo </span><span>'</span><span><td></span><span>'</span>.$k.<span>'</span><span></td></span><span>'</span><span>; </span><span>if</span>($j%<span>7</span>==<span>0</span><span>) echo </span><span>'</span><span></tr><tr></span><span>'</span><span>; } </span><span>//</span><span>后面几个空格</span> <span>while</span>($j%<span>7</span>!==<span>0</span><span>){ echo </span><span>'</span><span><td> </td></span><span>'</span><span>; $j</span>++<span>; } echo </span><span>'</span><span></tr></span><span>'</span><span>; } </span><span>private</span><span> function prevYear($year, $month){ $year</span>=$year-<span>1</span><span>; </span><span>if</span>($year < <span>1970</span><span>) $year </span>= <span>1970</span><span>; </span><span>return</span> <span>"</span><span>year={$year}&month={$month}</span><span>"</span><span>; } </span><span>private</span><span> function prevMonth($year, $month){ </span><span>if</span>($month == <span>1</span><span>) { $year </span>= $year -<span>1</span><span>; </span><span>if</span>($year < <span>1970</span><span>) $year </span>= <span>1970</span><span>; $month</span>=<span>12</span><span>; }</span><span>else</span><span>{ $month</span>--<span>; } </span><span>return</span> <span>"</span><span>year={$year}&month={$month}</span><span>"</span><span>; } </span><span>private</span><span> function nextYear($year, $month){ $year </span>= $year + <span>1</span><span>; </span><span>if</span>($year > <span>2038</span><span>) $year </span>= <span>2038</span><span>; </span><span>return</span> <span>"</span><span>year={$year}&month={$month}</span><span>"</span><span>; } </span><span>private</span><span> function nextMonth($year, $month){ </span><span>if</span>($month==<span>12</span><span>){ $year</span>++<span>; </span><span>if</span>($year > <span>2038</span><span>) $year</span>=<span>2038</span><span>; $month</span>=<span>1</span><span>; }</span><span>else</span><span>{ $month</span>++<span>; } </span><span>return</span> <span>"</span><span>year={$year}&month={$month}</span><span>"</span><span>; } </span><span>private</span> function chageDate($url=<span>""</span><span>){ echo </span><span>'</span><span><tr></span><span>'</span><span>; echo </span><span>'</span><span><td><a href="?</span><span>'</span>.$<span>this</span>->prevYear($<span>this</span>->year, $<span>this</span>->month).<span>'</span><span>"></span><span>'</span>.<span>'</span><span><<</span><span>'</span>.<span>'</span><span></a></td></span><span>'</span><span>; echo </span><span>'</span><span><td><a href="?</span><span>'</span>.$<span>this</span>->prevMonth($<span>this</span>->year, $<span>this</span>->month).<span>'</span><span>"></span><span>'</span>.<span>'</span><span><</span><span>'</span>.<span>'</span><span></a></td></span><span>'</span><span>; echo </span><span>'</span><span><td colspan="3"></span><span>'</span><span>; echo </span><span>'</span><span><form></span><span>'</span><span>; echo </span><span>'</span><span><select name="year" onchange="window.location=\'</span><span>'</span>.$url.<span>'</span><span>?year=\'+this.options[selectedIndex].value+\'&month=</span><span>'</span>.$<span>this</span>->month.<span>'</span><span>\'"></span><span>'</span><span>; </span><span>for</span>($sy=<span>1970</span>; $sy <= <span>2038</span>; $sy++<span>){ $selected </span>= ($sy==$<span>this</span>->year) ? <span>"</span><span>selected</span><span>"</span> : <span>""</span><span>; echo </span><span>'</span><span><option </span><span>'</span>.$selected.<span>'</span><span> value="</span><span>'</span>.$sy.<span>'</span><span>"></span><span>'</span>.$sy.<span>'</span><span></option></span><span>'</span><span>; } echo </span><span>'</span><span></select></span><span>'</span><span>; echo </span><span>'</span><span><select name="month" onchange="window.location=\'</span><span>'</span>.$url.<span>'</span><span>?year=</span><span>'</span>.$<span>this</span>->year.<span>'</span><span>&month=\'+this.options[selectedIndex].value"></span><span>'</span><span>; </span><span>for</span>($sm=<span>1</span>; $sm<=<span>12</span>; $sm++<span>){ $selected1 </span>= ($sm==$<span>this</span>->month) ? <span>"</span><span>selected</span><span>"</span> : <span>""</span><span>; echo </span><span>'</span><span><option </span><span>'</span>.$selected1.<span>'</span><span> value="</span><span>'</span>.$sm.<span>'</span><span>"></span><span>'</span>.$sm.<span>'</span><span></option></span><span>'</span><span>; } echo </span><span>'</span><span></select></span><span>'</span><span>; echo </span><span>'</span><span></form></span><span>'</span><span>; echo </span><span>'</span><span></td></span><span>'</span><span>; echo </span><span>'</span><span><td><a href="?</span><span>'</span>.$<span>this</span>->nextYear($<span>this</span>->year, $<span>this</span>->month).<span>'</span><span>"></span><span>'</span>.<span>'</span><span>>></span><span>'</span>.<span>'</span><span></a></td></span><span>'</span><span>; echo </span><span>'</span><span><td><a href="?</span><span>'</span>.$<span>this</span>->nextMonth($<span>this</span>->year, $<span>this</span>->month).<span>'</span><span>"></span><span>'</span>.<span>'</span><span>></span><span>'</span>.<span>'</span><span></a></td></span><span>'</span><span>; echo </span><span>'</span><span></tr></span><span>'</span><span>; } }</span>
效果:

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器