PHP常用的实例

1.php解析url并得到url中的参数

<?php
$url = 'http://www.baidu.com/index.php?m=content&c=index&a=lists&catid=6&area=0&author=0&h=0&region=0&s=1&page=1';

$arr = parse_url($url);
var_dump($arr);
$arr_query = convertUrlQuery($arr['query']);
var_dump($arr_query);
var_dump(getUrlQuery($arr_query));

/**
* 将字符串参数变为数组
* @param $query
* @return array array (size=10)
'm' => string 'content' (length=7)
'c' => string 'index' (length=5)
'a' => string 'lists' (length=5)
'catid' => string '6' (length=1)
'area' => string '0' (length=1)
'author' => string '0' (length=1)
'h' => string '0' (length=1)
'region' => string '0' (length=1)
's' => string '1' (length=1)
'page' => string '1' (length=1)
*/
function convertUrlQuery($query)
{
$queryParts = explode('&', $query);
$params = array();
foreach ($queryParts as $param) {
$item = explode('=', $param);
$params[$item[0]] = $item[1];
}
return $params;
}

/**
* 将参数变为字符串
* @param $array_query
* @return string string 'm=content&c=index&a=lists&catid=6&area=0&author=0&h=0&region=0&s=1&page=1' (length=73)
*/
function getUrlQuery($array_query)
{
$tmp = array();
foreach($array_query as $k=>$param)
{
$tmp[] = $k.'='.$param;
}
$params = implode('&',$tmp);
return $params;
}

2,利用正则表达式实现手机号码中间4位用星号(*)替换显示

<?php
//Method 1:
function hidtel($phone){
$IsWhat = preg_match('/(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i',$phone); //固定电话
if($IsWhat == 1){
return preg_replace('/(0[0-9]{2,3}[\-]?[2-9])[0-9]{3,4}([0-9]{3}[\-]?[0-9]?)/i','$1****$2',$phone);
}else{
return preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone);
}
}
//Method 2:
$num = "13966778888"
$str = substr_replace($num,'****',3,4);

//实例:

$phonenum = "13966778888";
echo hidtel($phonenum);

//最后输出:139****8888

3.php根据出生年月日计算生日 精确到xxxx年xx月xx天

<?php
function diffDate($date1,$date2){
$datestart= date('Y-m-d',strtotime($date1));
if(strtotime($datestart)>strtotime($date2)){
$tmp=$date2;
$date2=$datestart;
$datestart=$tmp;
}
list($Y1,$m1,$d1)=explode('-',$datestart);
list($Y2,$m2,$d2)=explode('-',$date2);
$Y=$Y2-$Y1; // 1
$m=$m2-$m1; // 0
$d=$d2-$d1; // -11
if($d<0){
$d+=(int)date('t',strtotime("-1 month $date2"));
$m=$m--;
}
if($m<0){
$m+=12;
$y=$y--;
}
if($Y == 0 && $m == 0 && $d != 0){
return $d.'天';
}elseif($Y == 0 && $m != 0 && $d != 0){
return $m.'个月'.$d.'天';
}elseif($Y != 0 && $m == 0 && $d != 0){
return $Y.'年'.$d.'天';
}else{
return $Y.'年'.$m.'个月'.$d.'天';
}
}

4.php判断手机浏览还是web浏览

<?php
function isMobile(){
$useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
$useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:'';
function CheckSubstrs($substrs,$text){
foreach($substrs as $substr)
if(false!==strpos($text,$substr)){
return true;
}
return false;
}
$mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');
$mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');

$found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||
CheckSubstrs($mobile_token_list,$useragent);

if ($found_mobile){
return true;
}else{
return false;
}
}
if (isMobile()){
header('location: ./app/index.php');//如果为手机端,执行跳转
}
else{
header('location: ./web/index.php');//如果非手机端,执行跳转
}

5.时间戳转时间格式,时间格式转xx小时前

<?php
/**
* 将时间转换为 xx小时前
* @param {Object} pTime
*/
function jsDateDiff(pTime) {
var d_minutes, d_hours, d_days, d;
var timeNow = parseInt(new Date().getTime() / 1000);
pTime_new = new Date(pTime).getTime() / 1000;
d = timeNow - pTime_new;
d_days = parseInt(d / 86400);
d_hours = parseInt(d / 3600);
d_minutes = parseInt(d / 60);
if (d_days > 0 && d_days < 4) {
return d_days + "天前";
} else if (d_days <= 0 && d_hours > 0) {
return d_hours + "小时前";
} else if (d_hours <= 0 && d_minutes > 0) {
return d_minutes + "分钟前";
} else {
return pTime;
}
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP经典100例.,php教材实例,从基础到实践,由浅到深... 24:经典循环例子 25:for的高级运用 26:简单的函数 27:有返回值的函数 28:有默认参数的函数 29:判断整数 30:动态调用函数 31:一个简单的数组 32给数组增加元素 33初始化数组 34获取数组中的元素 35创建一个多维数组 36PHP 4.0实现表格状打印 37实现背景颜色的改变 38文件上传 39查看PHP的环境变量 40使用文件包含 41打开本地或者远程文件 42读取文件内容 43访问文件常见属性 44调用文本文件内容 45PHP判断文件是否存在 46访问文件时间属性 47创建目录函数 48浏览目录 49取得浏览器的信息 50PHP相关信息 51常用的数值判断函数 52数组排序的使用 53常用数组函数 54常用字符串函数(一) 55常用字符串函数(二) 56常用字符串函数(三) 57编码和解码函数 58常用数学函数(一) 59常用时间函数(二) 60日期检查函数 61常用时间函数(一) 62常用时间函数(二) 63程序暂停函数 64图像函数 65session函数 66拼写检查 67循环中调用函数 68转换所有的标记为PHP 69取得页面的链接 70对分查找法 71文件上传界面 72用PHP4实现顶级域名查询 73日期合法性检查 74检查一个邮政编码 75得到100个随机数字 76得到十个随机数 77分成数组 78计算星座的函数 s 79检测OICQ用户是否在线 80检测操作系统和浏览器类型 81用PHP4连接一个mysql数据库操作的演示 82//本例是用PHP4实现向一个mysql数据表添加记录, 83//本例是用PHP4实现修改一个mysql数据表 84本例是用PHP4实现删除一个mysql数据记录 85//本例是用PHP4实现向一个ODBC数据表添加记录 86//本例是用PHP4实现向一个ODBC数据表添加记录 87用户登录,注册新用户 88用COOKIE保存投票人的投票记录 89php4+mysql 留言本 90文件上传处理 91页面浏览计数器 92链接 93在线聊天 94简单的新闻公告栏 95PHP目录树演示 96访客留言本 97实现在线投票 98世纪万年历 99php挖地雷 100文件管理系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值