当前位置:  编程技术>php
本页文章导读:
    ▪php统计在线人数的代码 结合mysql统计在线人数      php统计在线人数的方法,我们之前介绍过一篇: 一个比较精确的统计在线人数的php代码,有兴趣的朋友,可以研究下。 今天,我们介绍的这个,可以详细记录在线访问者的IP地址,最后访问.........
    ▪一个去除二维数组中重复项的php函数      PHP中有个内置函数array_unique,可以去除数组中的重复项,不过此函数只适用于一维数组,对多维数组并不适用。 以下是自己实现的php二维数组去重的array_unique函数,供大家参考。 代码示例: .........
    ▪深入理解php中0,null,empty,空,false,字符串间的关系      通过具体的例子,深入理解php中0,null,empty,空,false,字符串间的关系。 代码如下:   代码示例: <?php //判断 0 和 '' 以及 empty null false的关系 start// if('safdasefasefasf'==0){  echo "该字符串转换为.........

[1]php统计在线人数的代码 结合mysql统计在线人数
    来源: 互联网  发布时间: 2013-12-24

php统计在线人数的方法,我们之前介绍过一篇:
一个比较精确的统计在线人数的php代码,有兴趣的朋友,可以研究下。

今天,我们介绍的这个,可以详细记录在线访问者的IP地址,最后访问时间,请求的url等信息。供大家参考。

首先,创建数据表 ccol:
 

代码示例:
CREATE TABLE ccol(
id integer not null auto_increment, #记录的ID
ip char(15) not null, #访问者的IP地址
dtstamp datetime not null, #最后访问时间
uri char(255), #访问者请求的URI
primary key (id)
);

然后,编写统计用的php代码
 

代码示例:

<?
/*
文件:ccol.php
目的:统计同时在线浏览的人数
edit: www.
*/
$duration=1800;
require "db.php"; //自行准备,数据库访问类
//包含DBSQL
$ccol=new dbSQL;
$ccol->connect();
$ccol->query("DELETE FROM ccol WHERE (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(dtstamp))>$duration");
//删除超过半小时的记录
$ccol->query("SELECT * FROM ccol WHERE ip='$REMOTE_ADDR'");
//判断当前的IP是否在该表中存在
if ($ccol->nf())//有?
{
$ccol->next_record();//下移找到的记录数组的指针
$id=$ccol->f('id');
$ccol->query("UPDATE ccol SET dtstamp=now(), uri='$REQUEST_URI' WHERE id=$id");
//设置最后访问时间和访问页面
}
else//没有
{
$ccol->query("INSERT INTO ccol VALUES (0, '$REMOTE_ADDR', now(), '$REQUEST_URI')");
}

$ccol->query("SELECT COUNT(*) AS ccol FROM ccol WHERE (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(dtstamp))<=$duration");
//找出在半个小时内的记录,后面的WHERE子句可有可无--超出时间的已经被删除了
$ccol->next_record()
echo "在线人数:", $ccol->f('ccol');
$ccol->free_result();
?>

调用方法,在站点的每个页面的上面调用这个程序。
例如:
 

代码示例:
--index.php
...
<!--显示在线人数->
<?require ../stats/ccol.php?>
...

总结,以上代码仅供初学者参考。
有兴趣的朋友,可以加以改进与扩展,有好的统计在线人数的代码,也欢迎大家分享交流。


    
[2]一个去除二维数组中重复项的php函数
    来源: 互联网  发布时间: 2013-12-24

PHP中有个内置函数array_unique,可以去除数组中的重复项,不过此函数只适用于一维数组,对多维数组并不适用。

以下是自己实现的php二维数组去重的array_unique函数,供大家参考。

代码示例:

<?php
//函数1,二维数组去掉重复值
function array_unique_fb($array2D){
     foreach ($array2D as $v){
         $v = join(",",$v);  //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
         $temp[] = $v;
     }
     $temp = array_unique($temp);    //去掉重复的字符串,也就是重复的一维数组
    foreach ($temp as $k => $v){
        $temp[$k] = explode()(",",$v);   //再将拆开的数组重新组装
    }
    return $temp;
}

//函数2,二维数组去掉重复值  并保留键值
function array_unique_fb($array2D){
    foreach ($array2D as $k=>$v){
        $v = join(",",$v);  //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
  $temp[$k] = $v;
    }
 $temp = array_unique($temp);    //去掉重复的字符串,也就是重复的一维数组
    foreach ($temp as $k => $v){
        $array=explode(",",$v);  //再将拆开的数组重新组装
  $temp2[$k]["id"] =$array[0];  
  $temp2[$k]["litpic"] =$array[1];
  $temp2[$k]["title"] =$array[2];
  $temp2[$k]["address"] =$array[3];
  $temp2[$k]["starttime"] =$array[4];
  $temp2[$k]["endtime"] =$array[5];
  $temp2[$k]["classid"] =$array[6];
  $temp2[$k]["ename"] =$array[7];
 }
    return $temp2;
}
?>

调用示例:
 

代码示例:
<?php
$arr = array("a"=>array("a"=>"welcome","b"=>"to","c"=>"www."),
            "b"=>array("a"=>"","b"=>"","c"=>"beijing")
     );
$arr2 = array_unique_fb($arr)
?>

    
[3]深入理解php中0,null,empty,空,false,字符串间的关系
    来源: 互联网  发布时间: 2013-12-24

通过具体的例子,深入理解php中0,null,empty,空,false,字符串间的关系。

代码如下:
 

代码示例:

<?php
//判断 0 和 '' 以及 empty null false的关系 start//

if('safdasefasefasf'==0){
 echo "该字符串转换为数字  等于 0 <br/>";
}//output:该字符串转换为数字 等于零。

 这是关键的一个例子

手册上有解释:该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。 

也就是说 '3asfdf'==3 ; 'adsfasdf'==0 相当要注意

$a=0;
if($a==''){
 echo "0  等于  '' <br/>";
}    //output:0 等于''
if(trim($a)==''){
 echo "trim(0)等于'' <br/>";
}    //no output

if($a===''){
 echo "0==='' <br/>";
}    //no output
if(empty($a)){
 echo "'' is empty <br/>";
}   //output:'' is empty
if(is_null($a)){
 echo "0 is null <br/>";
}   //no output
if(is_numeric($a)){
 echo "0 is numeric <br/>";
}   //output:0 is numeric
if(is_string($a)){
 echo "0 is string <br/>";
}   //no output
if(strval($a)==''){
 echo "转换成字符串的0 is '' <br/>";
}   //no output
// 判断 0 和 '' 以及 empty null false的关系 end  //

// 判断 '' 和 0 以及 empty null false的关系 start  //

$b = '';
if($b==0){
 echo "''  等于  0 <br/>";
}    //output:''  等于  0
if(!''){
 echo "'' 就是false <br/>";
}    //output:'' 就是false
if(!0){
 echo "0 就是false <br/>";
}    //output:0 就是false www.
// 判断 '' 和 0 以及 empty null false的关系 end  //

echo "在判断空('')的时候一定要小心,0 也相当于'' ,0  和 '' 都相当于空字符和false,判断为空最好用===";
?>

输出结果:
0 等于 ” ” is empty 0 is numeric ” 等于 0 ” 就是false 0 就是false 在判断空(”)的时候一定要小心,0 也相当于” ,0 和 ” 都相当于空字符和false,判断为空最好用=== 只能这样解释:0 也相当于 ” ,0  和 ” 都相当于空字符和false。
在判断空(”)的时候一定要小心,0 也相当于 ” ,0  和 ” 都相当于空字符和false,判断为空最好用===;
 

echo         0 == null; echo '**<br/>' ;        //true
echo         0 === null; echo '**<br/>' ;       //false
echo (string)0 != null; echo '**<br/>' ;        //true
echo         0 != null; echo '**<br/>' ;        //false
echo         0 !== null; echo '**<br/>' ;       //true

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
Web服务器/前端 iis7站长之家
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3