灵魂腐蚀 发表于 2015-2-3 23:30:05

PHP教程之复杂的PHP日历算法

当然你可以把你最基本的功能放出来的时候就放出来,比如放到论坛上,让大家都参与,    上面是一个复杂的php日历算法,但愿对人人有所匡助
   if (function_exists('date_default_timezone_set')) {
      date_default_timezone_set('Asia/Chongqing');
}
$date = isset($_GET['date']) ? $_GET['date'] : date('Y-m-d');
$date = getdate(strtotime($date));
$end = getdate(mktime(0, 0, 0, $date['mon'] + 1, 1, $date['year']) - 1);
$start = getdate(mktime(0, 0, 0, $date['mon'], 1, $date['year']));
$pre = date('Y-m-d', $start - 1);
$next = date('Y-m-d', $end + 86400);
$html = '<table border="1">';
$html .= '<tr>';
$html .= '<td><a href="' . $PHP_SELF . '?date=' . $pre . '">-</a></td>';
$html .= '<td colspan="5">' . $date['year'] . ';' . $date['month'] . '</td>';
$html .= '<td><a href="' . $PHP_SELF . '?date=' . $next . '">+</a></td>';
$html .= '</tr>';
$arr_tpl = array(0 => '', 1 => '', 2 => '', 3 => '', 4 => '', 5 => '', 6 => '');
$date_arr = array();
$j = 0;
for ($i = 0; $i < $end['mday']; $i++) {
      if (!isset($date_arr[$j])) {
          $date_arr[$j] = $arr_tpl;
      }
      $date_arr[$j][($i+$start['wday'])%7] = $i+1;
      if ($date_arr[$j]) {
          $j++;
      }
}
foreach ($date_arr as $value) {
      $html .= '<tr>';
      foreach ($value as $v) {
          if ($v) {
            if ($v == $date['mday']) {
                  $html .= '<td><b>' . $v . '</b></td>';
            } else {
                  $html .= '<td>' . $v . '</td>';
            }
          } else {
            $html .= '<td> </td>';
          }
      }
      $html .= '</tr>';
}
$html .= '</table>';
echo $html;
多个成员之间重复做相同的工作,很容易因为交流沟通的时候没有进行一致性的文档要求而出现不明错误,严重影响开发进度,导致在预定时间内无法完成该项目或者完成的项目跟原先计划所要实现的项目功能不符合。

金色的骷髅 发表于 2015-2-3 23:57:02

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

小魔女 发表于 2015-2-8 05:40:46

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

小妖女 发表于 2015-2-12 10:45:37

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

第二个灵魂 发表于 2015-3-3 02:09:49

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

蒙在股里 发表于 2015-3-5 16:13:53

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

冷月葬花魂 发表于 2015-3-12 10:20:06

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

灵魂腐蚀 发表于 2015-3-15 22:09:34

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

爱飞 发表于 2015-3-19 21:58:50

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

仓酷云 发表于 2015-3-25 20:58:34

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

愤怒的大鸟 发表于 2015-3-27 07:10:53

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

admin 发表于 2015-4-6 01:12:20

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

莫相离 发表于 2015-4-6 16:47:11

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

透明 发表于 2015-4-11 20:32:13

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

海妖 发表于 2015-4-12 14:18:48

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

再现理想 发表于 2015-4-25 16:19:33

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

若天明 发表于 2015-4-26 11:10:52

当然这种网站的会员费就几十块钱。

柔情似水 发表于 2015-5-5 04:32:17

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

只想知道 发表于 2015-5-12 07:06:49

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

变相怪杰 发表于 2015-6-5 23:01:28

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
页: [1]
查看完整版本: PHP教程之复杂的PHP日历算法