php统计一维数组与二维数组长度

<?php教程
$arr=array(
                 0=>array('title' => '新闻1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'),
                 1=>array('title' => '新闻2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM')
                );
?>
如果你想统计数组$arr的长度,也就是说该二维数组只有两条新闻,你想要的数字也是2,但是如果使用count($arr)不同版本的php,统计的结果是不一样的;
后来在php手册中发现,count函数还有第二个参数,解释如下:
count函数有两个参数:
0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);
1(或COUNT_RECURSIVE)为检测多维数组,
所以如果要判断读取的数组$arr是不是有新闻信息,就要这样写了:
<?php
if(is_array($arr) && count($arr,COUNT_NORMAL)>0 )
{
  .....
} else {
  .....
}
?>
你可以使用这样的代码来测试该函数:
<?php
$arr=array(
                 0=>array('title' => '新闻1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'),
                 1=>array('title' => '新闻2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM')
               );
echo '不统计多维数组:'.count($arr,0);//count($arr,COUNT_NORMAL)
echo "<br/>";
echo '统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE)
?>
好了,到此为止,已经解决php中获取二维或多维数组的第一维长度的问题!

阅读全文

php快速url重写更新版[需php 5.30以上

类只能php5.30以上的版本才能使用,继承了上一个版本的快速重定向的特点(单独类,全部使用静态调用),增添了一个很重要的功能和属性 可以调用其他url中的模块了 也使得模块与模块间或页面与页面间的函数简化共享得以实现

阅读全文

缓存的工作原理

缓存的工作原理其实并不复杂。它的核心思想是:首先,我们将需要显示的内容存储在一个文本文件(即缓存文件)之中。然后,如果有用户请求某个页面的内容,我们首先检查此页对应的缓存(即那个文本文件)是否存在&mdash;&mdash;如果存在且为最新的缓存文件,那么直接将这个文本文件中的内容输出到客户端供用户查看;如果此页对应的缓存文件不存在或缓存生成的时间不符合要求(太旧),那么直接执行一次此页对应的PHP文件,并将显示内容存储在缓存文件中。重复上述流程。这样一来,虽然增加了PHP代码,但我们最大程度的节省了PHP链接到数据库教程再提取数据的时间。

阅读全文

PHP 中文处理技巧

网上的PHP端escape unescape函数建议不要用,它把中英文混合时的英文过滤掉了,我是莫名其妙了N久啊,建议用unicode_urldecode这个。

再就是编码格式的转换,这主要涉及数据的存储和客户端返回,用iconv就搞定,这个函数似乎是从C++中借鉴来的

阅读全文

修改dedecms 织梦系统 生成静态页面栏目缓存文件路径

修改dedecms 织梦系统 生成静态页面栏目缓存文件路径

由于dedecms 生成频道栏目,要生成一个临时mkall_cache_{adminid}.php教程文件,这对网站做安全会有一定的影响,特别我现在是把我整个网站限制不能上传php,js文件,为了方便起见,今天我就来拿我修改过程记录下来与各位分享吧。

阅读全文