PHP实现查询多级分类的程序代码

 更新时间:2016年11月25日 15:48  点击:1456
无限级分类是我们常用见的一个程序方法了,原理是得到有层级关系的数组,就是顶级是顶级分类,然后每个分类中有个children子数组,记录它的子分类,这样一级一级的分级数组

算法的数据库结构设计最为简单。category表中一个字段id,一个字段fid(父id)。这样可以根据WHERE id = fid来判断上一级内容,运用递归至最顶层

我们先查出数组

 代码如下 复制代码
<?php
$a = array(
  'AAAAAA'  =>  array(
        'aaaaaa' => array(
                 '111111',
                 '222222',
                 '333333'
        ),
        'bbbbbb'  => array(
                  '111111',
                 '222222',
                 '333333'
        ),
        'cccccc'  => array(
                  '111111',
                  '222222',
                  '333333'
        ),                     
  ),
  'BBBBBB'  =>   array(
        'aaaaaa' => array(
                  '111111',
                  '222222',
                  '333333'
        ),
        'bbbbbb'=> array(
                  '111111',
                  '222222',
                  '333333'
        ),
        'cccccc'=> array(
                  '111111',
                  '222222',
                  '333333'
        ),
  ),
  'CCCCCC'  => array(
        'aaaaaa'=> array(
                  '111111',
                  '222222',
                  '333333'
        ),
        'bbbbbb'=> array(
                  '111111',
                  '222222',
                  '333333'
        ),
        'cccccc'         => array(
                  '111111',
                  '222222',
                  '333333'
        ),
  ),
);
foreach ($a as $k=>$v){
   echo $k."<br>";
  // if(is_array($v)){
       foreach($v as $key=>$val){
          echo "  ".$key."<br>";
  //     }                           
       if(is_array($val)){
          foreach($val as $kkk=>$vall){
             echo "    ".$vall."<br>";
          }
       }
   }
   echo "<br>";
   }
  
  
    /*******mysql查询无限级分类的代码******/
    /***
   $sql = "SELECT a.Title AS big, b.Title AS small
            FROM largeTitle AS a LEFT JOIN smallTitle  AS b ON  a.ID=b.LargeID";
           
    $a = array();
   
    $r = mysql_query($sql);
   
    while( $arr = mysql_fetch_array($r)){
        $a[$arr['big']] = $arr['small'];
    }
    ***/
?>  

       

好了下面先读取数据库然后再递归读出

分类表,比如category,字段有 id,parentid,title

 代码如下 复制代码

//查询
 
$dsql->SetQuery("SELECT * FROM category ORDER BY sortorder ASC");
$dsql->Execute('parentlist');
$array = array();
$parentlist = array();
while ($rs=$dsql->getObject('parentlist'))
{
    if($rs->parentid == 0)
    {
        $parentlist[$rs->id] = (array)$rs;
    }
    else
    {
        $array[$rs->id] = (array)$rs;
    }
}
$parentlist = cat_options($parentlist, $array);  //我们求的结果数组
 
//$list父级分类的数组
 
//$array是除父级分类外的全部分类的数组
 
function cat_options(&$list,&$array)
{
    foreach ($list as $key => $arr)
    {
        foreach ($array as $k => $value)
        {
            if($value['parentid'] == $arr['id'])
            {
                $list[$key]['children'][] = $value;
                unset($array[$k]);
            }
        }
    }
    foreach ($list as $key => $arr)
    {
        if(is_array($arr['children']) && count($arr['children']) > 0)
        {
            $list[$key]['children'] = cat_options($list[$key]['children'], $array);
        }
    }
    return $list;
}

其它的方法,设置fid字段类型为varchar,将父类id都集中在这个字段里,用符号隔开,比如:1,3,6
这样可以比较容易得到各上级分类的ID,而且在查询分类下的信息的时候,
可以使用:SELECT * FROM category WHERE pid LIKE “1,3%”。

 

 代码如下 复制代码

--
-- 表的结构 `category`
--
CREATE TABLE IF NOT EXISTS `category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` int(11) NOT NULL COMMENT '1为文章类型2为产品类型3为下载类型',
`title` varchar(50) NOT NULL,
`lft` int(11) NOT NULL,
`rgt` int(11) NOT NULL,
`lorder` int(11) NOT NULL COMMENT '排序',
`create_time` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
--
-- 导出表中的数据 `category`
--
INSERT INTO `category` (`id`, `type`, `title`, `lft`, `rgt`, `lorder`, `create_time`) VALUES
(1, 1, '顶级栏目', 1, 18, 1, 1261964806),
(2, 1, '公司简介', 14, 17, 50, 1264586212),
(3, 1, '新闻', 12, 13, 50, 1264586226),
(4, 2, '公司产品', 10, 11, 50, 1264586249),
(5, 1, '荣誉资质', 8, 9, 50, 1264586270),
(6, 3, '资料下载', 6, 7, 50, 1264586295),
(7, 1, '人才招聘', 4, 5, 50, 1264586314),
(8, 1, '留言板', 2, 3, 50, 1264586884),
(9, 1, '总裁', 15, 16, 50, 1267771951);

/**
* 显示树,把所有的节点都显示出来。
* 1、先得到根结点的左右值(默认根节点的title为“顶级目录”)。
* 2、查询左右值在根节点的左右值范围内的记录,并且根据左值排序。
* 3、如果本次记录右值大于前次记录的右值则为子分类,输出时候加空格。
* @return array
**/
function display_tree(){

//获得root左边和右边的值
$arr_lr = $this->category->where("title = '顶级栏目'")->find();
//print_r($arr_lr);
if($arr_lr){
$right = array();
$arr_tree = $this->category->query("SELECT id, type, title, rgt FROM category WHERE lft >= ". $arr_lr['lft'] ." AND lft <=".$arr_lr['rgt']." ORDER BY lft");
foreach($arr_tree as $v){
if(count($right)){
while ($right[count($right) -1] < $v['rgt']){
array_pop($right);
}
}
$title = $v['title'];
if(count($right)){
$title = '|-'.$title;
}
$arr_list[] = array('id' => $v['id'], 'type' => $type, 'title' => str_repeat(' ', count($right)).$title, 'name' =>$v['title']);
$right[] = $v['rgt'];
}
return $arr_list;
}
}

好了 只要这样所有的分类都可以一次性查询出来了,而不用通过递归了。

在php中要保存远程图片到自己服务器本地,我们需要先正则字符串中的内容图片,然后再利用相关函数把图片读取并保存到本地硬盘即可。
 代码如下 复制代码

<?
header("Content-type:image/jpeg");
function read_url($str)
{
$file=fopen($str,"r");
while(!feof($file))
{
$result.=fgets($file,9999);
}
fclose($file);
return $result;

}

function save_img($str)
{
$result=read_url($str);
$result=str_replace(""","",$result);
$result=str_replace("'","",$result);

preg_match_all('/<imgssrc=(http://.*?)(s(.*?)>|>)/i',$result,$matches);

foreach($matches[1] as $value)
{
echo $value."<br>n";
//GrabImage($value,$filename="");
}
}

// $url 是远程图片的完整URL地址,不能为空。
// $filename 是可选变量: 如果为空,本地文件名将基于时间和日期
// 自动生成.

function GrabImage($url,$filename="") {
if($url==""):return false;endif;

$path="download/"; //指定存储文件夹

//若文件不存在,则创建;
if(!file_exists($path)){
mkdir($path);
}

if($filename=="") {
$ext=strrchr($url,".");
if($ext!=".gif" && $ext!=".jpg"):return false;endif;
$filename=$path.date("dMYHis").$ext;
}

ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$size = strlen($img);

$fp2=@fopen($filename, "a");
fwrite($fp2,$img);
fclose($fp2);

return $filename;
}
save_img("http://www.111cn.net");
?>

dedecms中图版保存到本地方法

 代码如下 复制代码

 if(!empty($saveremoteimg))
        {
                $body = stripslashes($body);
                $img_array = array();
                preg_match_all("/(src|SRC)=[""|'| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png))/isU",$body,$img_array);
                $img_array = array_unique($img_array[2]);
                set_time_limit(0);
                $imgUrl = $img_dir."/".strftime("%Y%m%d",time());
                $imgPath = $base_dir.$imgUrl;
                $milliSecond = strftime("%H%M%S",time());
                if(!is_dir($imgPath)) @mkdir($imgPath,0777);
                foreach($img_array as $key =>$value)
                {
                        $value = trim($value);
                        $get_file = @file_get_contents($value);
                        $rndFileName = $imgPath."/".$milliSecond.$key.".".substr($value,-3,3);
                        $fileurl = $imgUrl."/".$milliSecond.$key.".".substr($value,-3,3);
                        if($get_file)
                        {
                                $fp = @fopen($rndFileName,"w");
                                @fwrite($fp,$get_file);
                                @fclose($fp);
                        }
                        $body = ereg_replace($value,$fileurl,$body);
                }
                $body = addslashes($body);
        }

在我们phper去面试时都会碰到一些小算法题,下面我来总结一下可能碰到的一些PHP面试常出现的小算法总结
 代码如下 复制代码

 

<?php
  //打印一个三角形
  for($i=0;$i<=3;$i++)
  {
  for($j=0;$j<=3-$i;$j++){
  echo ‘&nbsp;’;
  }
  for($k=0;$k<=2*$i;$k++)
  {
  echo “*”;
  }
  echo ‘<br>’;
  }
  ?>
  <?php
  //杨辉三角
  for($i=0;$i<6;$i++)
  {
  //第一个和最后一个都为1
  $a[$i][0]=1;
  $a[$i][$i]=1;
  }
  for($i=2;$i<6;$i++){
  for($j=1;$j<$i;$j++)
  {
  $a[$i][$j]=$a[$i-1][$i-1]+$a[$i-1][$j];
  }
  }
  for($i=0;$i<6;$i++)
  {
  for($j=0;$j<=$i;$j++){
  echo $a[$i][$j].’&nbsp;’;
  }
  echo ‘<br/>’;
  }
  ?>
  <?php
  //合并多个数组
  function t(){
  $c=func_num_args()-1;//返回传递给函数的参数个数
  $a=func_get_args();//返回一个数组,包括函数的参数列表
  for($i=0;$i<=$c;$i++){
  if(is_array($a[$i])){
  for($j=0;$j<count($a[$i]);$j++){
  $r[]=$a[$i][$j];
  }
  }else{
  die(‘Not a array’);
  }
  }
  return $r;
  }
  print_r(t(range(1,4),range(1,4),range(1,4)));
  ?>
  <?php
  //求牛
  function cow($num,$y)
  {
  for($j=1;$j<$y;$j++)
  {
  if($j>=4 && $j<15)
  {
  $num++;
  cow($num,$y-$j);
  }
  if($j==20)
  $num–;
  }
  return $num;
  }
  echo cow(2,2);
  ?>
  <?php
  //顺序查找(数组里查找某个元素)
  function seq_sch($array,$n,$k)//在某个位置之前查找某元素(不包括指定位置)
  {
  $array[$n]=$k;
  for($i=0;$i<$n;$i++)
  {
  if($array[$i]==$k)
  break;
  }
  if($i<$n)
  return $i;
  else
  return -1;
  }
  $array=array(‘a’,'b’,'c’);
  echo seq_sch($array,2,’b');
  ?>
  <?php
  function show($i)
  {
  if($i==1)
  return 1;
  else
  return $i*show($i-1);
  }
  echo “<br>”;
  echo show(3);
  ?>
  <?php
  //裴波那挈数列
  function b($n)
  {
  if($n<2)
  return $n;
  else
  return b($n-1)+show($n-2);
  }
  echo b(2);
  ?>

数据文件缓存的做法我们常用的有php文件缓存与利用memcache来缓存数据,下面面我分别总结了memcache缓存数据与数据文件缓存有需要的朋友可参考参考。

1.对于一般的变量,把该变量变成php语言的格式,写到文件中,用时只要include这个文件就相当于加载了cache了;
2.对于array型的变量,把array转化为php语言定义array的字符串,写到文件中,用时也只要include就相当于加载了cache了;
3.缓存cache时间上的控制,通过获取缓存文件的创建时间和现在的时间进行对比,如果没有到更新时间,直接读取缓存,如果到了更新时间,查询数据库,

文件缓存类:

 代码如下 复制代码

<?php
class DataCache
{
 
 /**
  * 数组转换
  *
  * @param array $array
  * @param string $arrayName
  * @param array $level
  *
  * @return string
  */
 private function arrayEval($array, $arrayName = '', $level = 0)
 {
  $space = str_repeat("t", $level);
 
  if (empty($arrayName))
  {
   $evaluate = "arrayn$space(n";
  }
  else
  {
   $evaluate = "${$arrayName} = arrayn$space(n";
  }
 
  $space2 = str_repeat("t", $level + 1);
  $comma = $space2;
  if (!empty($array))
  {
   foreach ($array as $key => $val)
   {
    $key = is_string($key) ? ''' . addcslashes($key, ''\') . ''' : $key;
    $val = !is_array($val) && (!preg_match('/^-?[1-9]d*$/', $val) || strlen($val) > 12) ? ''' . addcslashes($val, ''\') . ''' : $val;
    if (is_array($val))
    {
     $evaluate .= "$comma$key => " . arrayEval($val, '', $level + 1);
    }
    else
    {
     $evaluate .= "$comma$key => $val";
    }
    $comma = ",n$space2";
   }
  }
  $evaluate .= "n$space)";
 
  // 最后才需要一个“;”
  if ($level == 0)
  {
   $evaluate .= ";";
  }
  return $evaluate;
 }
 
 /**
  * 写入缓存
  *
  * @param string $path
  * @param string $arrayName
  * @param array  $data
  *
  * @return boolean
  */
 public static function writeCache($path, $arrayName, $data)
 {
  if ($handle = fopen($path, 'w+'))
  {
   $data = self::arrayEval($data, $arrayName);
 
   $dataConvert = "<?phpn" . $data;
 
   flock($handle, LOCK_EX);
   $rs = fputs($handle, $dataConvert);
   flock($handle, LOCK_UN);
   fclose($handle);
   if ($rs !== false)
   {
    return true;
   }
  }
  return false;
 }
 
}

调用方法

 代码如下 复制代码

/**
* 生成文件缓存
*
* @param string $filePath 缓存文件的保存路径
* @param string $arrayName 存放在缓存文件中的数组名称
* @param array $data 数据
*
* @return boolean
*/
DataCache::writeCache($filePath, $arrayName, $data);


memcache来缓存数据


面提供这个文件缓存的类,希望大家可以看看。

 代码如下 复制代码

  

<?php
/**
 * 文件缓存类
 * 提供文件缓存
 * @author guoyubin(263421949@qq.com)
 */
class Cache_FileCache{
   
    /**
     * 设置缓存
     * @param $key 缓存的关键字key
     * @param $data 缓存的内容
     * @param $cacheLife 缓存时间(单位为秒)如果为0 则表示无限时间
     * @return Bool
     */
    public static function setCache($key,$data,$cacheLife)
    {
            if(file_exists(__SITE_FILE_CACHE))
            {
                @$file                =  __SITE_FILE_CACHE . "/" . $key .".php";
                $cache                  =  array();
                $time                =  __SYS_TIME;
                $cache['content']    =  $data;
                $cache['expire']    =  $cacheLife === 0 ? 0 : $time+$cacheLife;
                $cache['mtime']        =  $time;
                $cache                =  serialize($cache);
                $setReslut            =  @file_put_contents($file,$cache) or self::error(__line__,"文件写入出错");
                $chmodReslut        =  @chmod($file,0777) or self::error(__line__,"设定文件权限失败");
                if($setReslut && $chmodReslut)
                {
                    return true;
                }
                else
                {
                    return false;
                }
               
            }
       
    }

    /**
     * 得到缓存数据
     * @param $key 缓存的关键字key
     * @return array
     */
    public static function getCache($key)
    {
            @$file                =      __SITE_FILE_CACHE . "/" . $key .".php";
            if(file_exists($file))
            {
                     $data        =    @file_get_contents($file);
                     $data        =   unserialize($data);
                     if($data['expire']==0 || $data['expire'] > __SYS_TIME)
                     {
                         return $data['content'];
                     }
                     else
                     {
                         unlink($file);
                         return array();
                     }
            }       
    }
   
    /**
     * 删除缓存文件
     * @param $key 缓存$key
     * @return Bool
     */
    public static function delCache($key)
    {       
        if (@unlink(__SITE_FILE_CACHE."/".$key.".php"))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
   
    /**
     * 清除所有缓存文件
     * @return Bool
     */
   
    public static function clearAllCache()
    {
        $files = scandir(__SITE_FILE_CACHE);
        foreach ($files as $val)
        {
            @unlink(__SITE_FILE_CACHE."/".$val);

        }
    }
   
    /**
     * 出错处理函数
     * @param $line 行数
     * @param $msg  信息
     */
    public static function error($line,$msg)
    {
        die("出错文件:".__file__."/n出错行:$line/n错误信息:$msg");
    }
}

?>

使用php的朋友会发现如果你刚安装好apache与php环境,会发现你系统的时间与我们中国时间是有区别的,一般情况是相隔8小时哦,下面我来介绍PHP设置时区设置方法总结。

方法一,在php页面设置时区

在页面最前面加上下面应用一种都是可以的

date_default_timezone_set用法如下
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)
date_default_timezone_set -- 设定用于一个脚本中所有日期时间函数的默认时区
说明
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() 设定用于所有日期时间函数的默认时区。


用法

 代码如下 复制代码

1 date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai'   亚洲/上海

2 date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆”

3 date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”

4 ini_set('date.timezone','Etc/GMT-8');

5 ini_set('date.timezone','PRC');

6 ini_set('date.timezone','Asia/Shanghai');

7 ini_set('date.timezone','Asia/Chongqing');

Asia/Shanghai – 上海
Asia/Chongqing – 重庆
Asia/Urumqi – 乌鲁木齐
Asia/Hong_Kong – 香港
Asia/Macao – 澳门
Asia/Taipei – 台北
Asia/Singapore – 新加坡


如果你有服务器管理权限,我们可以在在PHP.INI中设置时区

 代码如下 复制代码

date.timezone = PRC

去掉前面的分号 然后重启apache

可能碰到的一些问题

1.Warning: strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function.

2.Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function.

3.Notice: date_default_timezone_set(): Timezone ID 'Asia/Shanghai' is invalid

解决办法

 代码如下 复制代码

date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海

date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆”

date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”

[!--infotagslink--]

相关文章

  • Mybatis Plus select 实现只查询部分字段

    这篇文章主要介绍了Mybatis Plus select 实现只查询部分字段的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-01
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • MyBatisPlus-QueryWrapper多条件查询及修改方式

    这篇文章主要介绍了MyBatisPlus-QueryWrapper多条件查询及修改方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2022-06-27
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • Oracle使用like查询时对下划线的处理方法

    这篇文章主要介绍了Oracle使用like查询时对下划线的处理方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-16
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • 解决mybatis-plus 查询耗时慢的问题

    这篇文章主要介绍了解决mybatis-plus 查询耗时慢的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-04
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • PHP实现无限级分类(不使用递归)

    无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如 将文章分类输出为<ul>列表形式; 查找分类A下面所有分类包含的文章。1.实现原理 几种常见的实现方法,各有利弊。其中...2015-10-23
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • 几种延迟加载JS代码的方法加快网页的访问速度

    本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。 当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点...2013-10-13
  • PHP实现递归无限级分类

    在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。 递归,简单的说就是一段程序代码的重复调用,当把...2015-10-23