代码如下:
<span 1</span> <?<span php </span><span 2</span> <span /*</span><span * </span><span 3</span> <span * </span><span 4</span> <span * 我的日历 </span><span 5</span> <span * date_default_timezone_set date mktime </span><span 6</span> <span * @param int $year </span><span 7</span> <span * @param int $month </span><span 8</span> <span * @param string $timezone </span><span 9</span> <span * @author fc_lamp </span><span 10</span> <span * @blog: http://www.cnblogs.com/roucheng/ </span><span 11</span> <span */</span> <span 12</span> <span function</span> myCalender(<span $year</span> = '', <span $month</span> = '', <span $timezone</span> = 'Asia/Shanghai'<span ) </span><span 13</span> <span { </span><span 14</span> <span 15</span> date_default_timezone_set ( <span $timezone</span><span ); </span><span 16</span> <span $year</span> = <span abs</span> ( <span intval</span> ( <span $year</span><span ) ); </span><span 17</span> <span $month</span> = <span abs</span> ( <span intval</span> ( <span $month</span><span ) ); </span><span 18</span> <span 19</span> <span //</span><span 是否是32位机</span> <span 20</span> <span if</span><span (is32()) </span><span 21</span> <span { </span><span 22</span> <span if</span> (<span $year</span> < 1970 or <span $year</span> >= 2038<span ) </span><span 23</span> <span { </span><span 24</span> <span $year</span> = <span date</span> ( 'Y'<span ); </span><span 25</span> <span } </span><span 26</span> } <span else</span> <span 27</span> <span { </span><span 28</span> <span if</span> (<span $year</span> <= 0<span ) </span><span 29</span> <span { </span><span 30</span> <span $year</span> = <span date</span> ( 'Y'<span ); </span><span 31</span> <span } </span><span 32</span> <span 33</span> <span } </span><span 34</span> <span 35</span> <span if</span> (<span $month</span> <= 0 or <span $month</span> > 12<span ) </span><span 36</span> <span { </span><span 37</span> <span $month</span> = <span date</span> ( 'm'<span ); </span><span 38</span> <span } </span><span 39</span> <span 40</span> <span //</span><span 上一年</span> <span 41</span> <span $pretYear</span> = <span $year</span> - 1<span ; </span><span 42</span> <span //</span><span 上一月</span> <span 43</span> <span $mpYear</span> = <span $year</span><span ; </span><span 44</span> <span $preMonth</span> = <span $month</span> - 1<span ; </span><span 45</span> <span if</span> (<span $preMonth</span> <= 0<span ) </span><span 46</span> <span { </span><span 47</span> <span $preMonth</span> = 1<span ; </span><span 48</span> <span $mpYear</span> = <span $pretYear</span><span ; </span><span 49</span> <span } </span><span 50</span> <span 51</span> <span //</span><span 下一年</span> <span 52</span> <span $nextYear</span> = <span $year</span> + 1<span ; </span><span 53</span> <span //</span><span 下一月</span> <span 54</span> <span $mnYear</span> = <span $year</span><span ; </span><span 55</span> <span $nextMonth</span> = <span $month</span> + 1<span ; </span><span 56</span> <span if</span> (<span $nextMonth</span> > 12<span ) </span><span 57</span> <span { </span><span 58</span> <span $nextMonth</span> = 1<span ; </span><span 59</span> <span $mnYear</span> = <span $nextYear</span><span ; </span><span 60</span> <span } </span><span 61</span> <span 62</span> <span //</span><span 日历头</span> <span 63</span> <span $html</span> = <<<<span HTML </span><span 64</span> <table width="500" border="1"> <span 65</span> <tr align="center"> <span 66</span> <td><a href="?y=<span $pretYear</span>">上一年</a></td> <span 67</span> <td><a href="?y=<span $mpYear</span>&m=<span $preMonth</span>">上一月</a></td> <span 68</span> <td><a href="?">回到今天</a></td> <span 69</span> <td><a href="?y=<span $mnYear</span>&m=<span $nextMonth</span>">下一月</a></td> <span 70</span> <td><a href="?y=<span $nextYear</span>">下一年</a></td> <span 71</span> </tr> <span 72</span> <tr align="center"> <span 73</span> <td colspan="5">{<span $year</span>}年{<span $month</span>}月</td> <span 74</span> </tr> <span 75</span> <tr> <span 76</span> <td colspan="5"> <span 77</span> <table width="100%" border="1"> <span 78</span> <tr align="center"> <span 79</span> <td 80</span> <td 81</span> <td 82</span> <td 83</span> <td 84</span> <td 85</span> <td 86</span> </tr> <span 87</span> <span HTML; </span><span 88</span> <span 89</span> <span $currentDay</span> = <span date</span> ( 'Y-m-j'<span ); </span><span 90</span> <span 91</span> <span //</span><span 当月最后一天</span> <span 92</span> <span $lastday</span> = <span date</span> ( 'j', <span mktime</span> ( 0, 0, 0, <span $nextMonth</span>, 0, <span $year</span><span ) ); </span><span 93</span> <span 94</span> <span //</span><span 循环输出天数</span> <span 95</span> <span $day</span> = 1<span ; </span><span 96</span> <span $line</span> = ''<span ; </span><span 97</span> <span while</span> ( <span $day</span> <= <span $lastday</span><span ) </span><span 98</span> <span { </span><span 99</span> <span $cday</span> = <span $year</span> . '-' . <span $month</span> . '-' . <span $day</span><span ; </span><span 100</span> <span 101</span> <span //</span><span 当前星期几</span> <span 102</span> <span $nowWeek</span> = <span date</span> ( 'N', <span mktime</span> ( 0, 0, 0, <span $month</span>, <span $day</span>, <span $year</span><span ) ); </span><span 103</span> <span 104</span> <span if</span> (<span $day</span> == 1<span ) </span><span 105</span> <span { </span><span 106</span> <span $line</span> = '<tr align="center">'<span ; </span><span 107</span> <span $line</span> .= <span str_repeat</span> ( '<td> </td>', <span $nowWeek</span> - 1<span ); </span><span 108</span> <span } </span><span 109</span> <span 110</span> <span if</span> (<span $cday</span> == <span $currentDay</span><span ) </span><span 111</span> <span { </span><span 112</span> <span $style</span> = '; </span><span 113</span> } <span else</span> <span 114</span> <span { </span><span 115</span> <span $style</span> = ''<span ; </span><span 116</span> <span } </span><span 117</span> <span 118</span> <span $line</span> .= "<td <span $style</span>><span $day</span></td>"<span ; </span><span 119</span> <span 120</span> <span //</span><span 一周结束</span> <span 121</span> <span if</span> (<span $nowWeek</span> == 7<span ) </span><span 122</span> <span { </span><span 123</span> <span $line</span> .= '</tr>'<span ; </span><span 124</span> <span $html</span> .= <span $line</span><span ; </span><span 125</span> <span $line</span> = '<tr align="center">'<span ; </span><span 126</span> <span } </span><span 127</span> <span 128</span> <span //</span><span 全月结束</span> <span 129</span> <span if</span> (<span $day</span> == <span $lastday</span><span ) </span><span 130</span> <span { </span><span 131</span> <span if</span> (<span $nowWeek</span> != 7<span ) </span><span 132</span> <span { </span><span 133</span> <span $line</span> .= <span str_repeat</span> ( '<td> </td>', 7 - <span $nowWeek</span><span ); </span><span 134</span> <span } </span><span 135</span> <span $line</span> .= '</tr>'<span ; </span><span 136</span> <span $html</span> .= <span $line</span><span ; </span><span 137</span> <span 138</span> <span break</span><span ; </span><span 139</span> <span } </span><span 140</span> <span 141</span> <span $day</span> ++<span ; </span><span 142</span> <span } </span><span 143</span> <span 144</span> <span $html</span> .= <<<<span HTML </span><span 145</span> </table> <span 146</span> </td> <span 147</span> </tr> <span 148</span> </table> <span 149</span> <span HTML; </span><span 150</span> <span return</span> <span $html</span><span ; </span><span 151</span> <span } </span><span 152</span> <span 153</span> <span /*</span><span * </span><span 154</span> <span * </span><span 155</span> <span * 检测是否是32位机 </span><span 156</span> <span * @author fc_lamp </span><span 157</span> <span * @blog: fc-lamp.blog.163.com </span><span 158</span> <span */</span> <span 159</span> <span function</span><span is32() </span><span 160</span> <span { </span><span 161</span> <span $is32</span> = <span False</span><span ; </span><span 162</span> <span if</span> (<span strtotime</span> ( '2039-10-10' ) === <span False</span><span ) </span><span 163</span> <span { </span><span 164</span> <span $is32</span> = <span True</span><span ; </span><span 165</span> <span } </span><span 166</span> <span return</span> <span $is32</span><span ; </span><span 167</span> }

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

在PHP中,trait适用于需要方法复用但不适合使用继承的情况。1)trait允许在类中复用方法,避免多重继承复杂性。2)使用trait时需注意方法冲突,可通过insteadof和as关键字解决。3)应避免过度使用trait,保持其单一职责,以优化性能和提高代码可维护性。

依赖注入容器(DIC)是一种管理和提供对象依赖关系的工具,用于PHP项目中。DIC的主要好处包括:1.解耦,使组件独立,代码易维护和测试;2.灵活性,易替换或修改依赖关系;3.可测试性,方便注入mock对象进行单元测试。

SplFixedArray在PHP中是一种固定大小的数组,适用于需要高性能和低内存使用量的场景。1)它在创建时需指定大小,避免动态调整带来的开销。2)基于C语言数组,直接操作内存,访问速度快。3)适合大规模数据处理和内存敏感环境,但需谨慎使用,因其大小固定。

PHP通过$\_FILES变量处理文件上传,确保安全性的方法包括:1.检查上传错误,2.验证文件类型和大小,3.防止文件覆盖,4.移动文件到永久存储位置。

JavaScript中处理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。1.??返回第一个非null或非undefined的操作数。2.??=将变量赋值为右操作数的值,但前提是该变量为null或undefined。这些操作符简化了代码逻辑,提高了可读性和性能。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

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

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

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

WebStorm Mac版
好用的JavaScript开发工具