php函数有什么用,有用的的PHP函数

1,判断某一时间(时间戳)是不是当天:

function is_today($time)

{

$l1 = localtime($time, true);

$l2 = localtime(time(), true);

if ($l1['tm_year'] == $l2['tm_year'] && $l1['tm_yday'] == $l2['tm_yday'])

{

return true;

}

else

{

return false;

}

}

localtime()赶回参数值的关联数组(第二个参数为true时)或索引数组。

2,判断两个时间是不是同一天:

function is_oneday($time1, $time2)

{

$l1 = localtime($time1, true);

$l2 = localtime($time2, true);

if ($l1['tm_year'] == $l2['tm_year'] && $l1['tm_yday'] == $l2['tm_yday'])

{

return true;

}

else

{

return false;

}

}

这个和第一个方法类似。

3,浏览器缓存:

function hearder_cache($maxAge=43200,$expire=43200)

{

$gmt = gmmktime(); //格林威治时间戳

header("Cache-Control: max-age=".$maxAge);

header("Pragma: cache");

header("Expires: ". gmdate("D, d M Y H:i:s", $gmt + $expire) . " GMT"); //gmdate()格林威治时间戳格式化

}

4,活动时间相关

//今天时间

function &today_date()

{

return date('Y-m-d');

}

//今天零点时间

function &today_time()

{

return strtotime(date("Y-m-d").' 00:00:00');

}

//应用内今日开始时间

function app_today_time()

{

$cur_time = time();

$today_time = strtotime(date('Y-m-d', $cur_time ).' 03:00:00');

if( $cur_time

{

$start_time = $today_time-86400;

} else {

$start_time = $today_time;

}

return $start_time;

}

function &begin_hour()

{

$hour = date('G',time())-3;

if($hour<0)

{

$hour = 0;

}

return $hour;

}

//现在时间

function now_time()

{

return time();

}

5,根据经纬度计算距离

/**

*求两个已知经纬度之间的距离,单位公里

*@param lng1,lng2 经度

*@param lat1,lat2 纬度

*@return float 距离,单位公里

**/

function get_distance($lng1,$lat1,$lng2,$lat2)//根据经纬度计算距离

{

//将角度转为狐度

$radLat1=deg2rad($lat1);

$radLat2=deg2rad($lat2);

$radLng1=deg2rad($lng1);

$radLng2=deg2rad($lng2);

$a=$radLat1-$radLat2;//两纬度之差,纬度<90

$b=$radLng1-$radLng2;//两经度之差纬度<180

$s=2*asin(sqrt(pow(sin($a/2),2)+cos($radLat1)*cos($radLat2)*pow(sin($b/2),2)))*6378.137;

return $s;

}

6,随机函数概率

/**

* 随机数概率函数

* example:

*$ary = array(80,15,5);

*echo __rand_array_key($ary);

*/

function __rand_array_key($ary)

{

if ((!$ary) && (!is_array($ary)))

{

trigger_error(' PARAM $ary IN __rand_array_key ERROR ', E_USER_WARNING );

return false;

}

$count = array_sum($ary);

//取随机数(1, 概率总数)

$rand = rand(1, $count);

$sum = 0;

$aryNum = count($ary);

for($i=0;$i < $aryNum;$i++){

$sum += $ary[$i];//当前区间的峰值,$rand已经>前一区间的峰值

if (($sum >= $rand)) {

return $i;

}

}

trigger_error(' PARAM $ary IN __rand_array_key ERROR ', E_USER_WARNING );

return false;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值