站三界导航
首页 PHP代码
  • PHP手机号中间位数隐藏保密星号*代替
    PHP手机号中间位数隐藏保密星号*代替

    以开头三位结尾四位显示,中间四位隐藏的格式为例(131****6789):方法一、字符串截取法,就是substr截取前三位,中间拼接四个*符号,后边再拼接上substr截取的后四位,示例:<?php$mobile='13123456789';$newMobile=substr($mobile,0,3).'****'.substr($mobile,-4);echo$newMobile;?>方法二、把字符串的一部分替换为另一个字符串,示例:<?php<?php$mobile='13123456789';$newMobile=substr_replace($mobile,'****',3,4);echo$newMobile;?>方法三、用正则表达式,示例:<?php$mobile='13123456789';$newMobile=preg_replace('/(\d{3})\d{4}(\d{4})/','$1****$2',$mobile);echo$newMobile;?>

    • PHP代码
    • 76阅读
    • 2022-06-27

  • php判断是手机访问还是电脑访问
    php判断是手机访问还是电脑访问

    <?phpfunctionisMobile(){$useragent=isset($_SERVER['HTTP_USER_AGENT'])?$_SERVER['HTTP_USER_AGENT']:'';$useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:'';functionCheckSubstrs($substrs,$text){foreach($substrsas$substr)if(false!==strpos($text,$substr)){returntrue;}returnfalse;}$mobile_os_list=array('GoogleWirelessTranscoder','WindowsCE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','OperaMobi','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){returntrue;}else{returnfalse;}}//执行函数if(isMobile()){echo'shouji';}else{echo'diannao';}

    • PHP代码
    • 79阅读
    • 2022-06-27

  • PHP 检测变量是否为空
    PHP 检测变量是否为空

    PHP中以下值得计算结果为false:关键字booleanfalse整型intteger0浮点型double0.0字符串string“”字符串string“0”数组arrayarray()对象object空对象php《5nullnullNULL例如字符串"0":<?php$number="0";if($number){echo"string\"0\"isnotfalse\r\n";}else{echo"string\"0\"isfalse\r\n";//输出:string"0"isfalse}if(empty($number)){echo"string\"0\"isfalse\r\n";//输出:string"0"isfalse}else{echo"string\"0\"isnotfalse\r\n";}空数组:<?php$arr=array();if($arr){echo'array$arrisnotfalse'."\r\n";}else{echo'array$arrisfalse'."\r\n";//输出:array$arrisfalse}if(empty($arr)){echo'array$arrisfalse'."\r\n";//输出:array$arrisfalse}else{echo'array$arrisnotfalse'."\r\n";}空对象在PHP5以上版本中计算结果不为false:$obj=(object)array();if($obj){echo'$objisnotfalse'."\r\n";//输出:$objisnotfalse}else{echo'$objisfalse'."\r\n";}if(empty($obj)){echo'$objisfalse'."\r\n";}else{echo'$objisnotfalse'."\r\n";//输出:$objisnotfalse}注意:字符串"0.0"、字符串"00"、包括一个空格字符的字符串""、字符串"false"、整型-1都不为false:<?php$number="0.0";if($number){echo"string\"0.0\"isnotfalse\r\n";//输出:string"0.0"isnotfalse}else{echo"string\"0.0\"isfalse\r\n";}if(empty($number)){echo"string\"0.0\"isfalse\r\n";}else{echo"string\"0.0\"isnotfalse\r\n";//输出:string"0.0"isnotfalse}正确地检查一个变量是否为空应该使用:<?phpif(empty($var)){...}

    • PHP代码
    • 79阅读
    • 2022-06-27

  • 获取当天是本月的第几周的星期几,并用中文显示
    获取当天是本月的第几周的星期几,并用中文显示

    代码如下:<?php/***获取当天是本月的第几周*不是我写的*/$wk_day=date('w');//今天周几$day=date('d');//今天几号$week=array('日','一','二','三','四','五','六');//规范化周日的表达$d=ceil($day/7);//计算是第几个星期几$str=date("Y年n月j日")."星期".$week[$wk_day]."<br>本月第".$d."个星期".$week[$wk_day];echo"$str";

    • PHP代码
    • 84阅读
    • 2022-06-27

  • PHP检测每一段代码执行时间
    PHP检测每一段代码执行时间

    在写PHP项目的时候,发现运行速度很慢,于是查看一下是哪里收到影响的。代码如下:<?php//实例1/***@starttime*/functionproStartTime(){global$startTime;$mtime1=explode("",microtime());$startTime=$mtime1[1]+$mtime1[0];}/***@Endtime*/functionproEndTime(){global$startTime,$set;$mtime2=explode("",microtime());$endtime=$mtime2[1]+$mtime2[0];$totaltime=($endtime-$startTime);$totaltime=number_format($totaltime,7);echo"processtime:".$totaltime."\r\n";}//程序调用开始记时proStartTime();sleep(1);//sleep()延时代码执行若干秒proEndTime();//程序在每一段所消耗的执行时间sleep(2);proEndTime();sleep(3);proEndTime();/**************************************华丽的分割线**************************************///实例2$t1=microtime(true);sleep(3);$t2=microtime(true);echo'程序耗时'.round($t2-$t1,3).'秒';?>

    • PHP代码
    • 85阅读
    • 2022-06-27

  • PHP输出数组的几种方法
    PHP输出数组的几种方法

    echo不支持直接输出数组,输出结果只有一个array,我们可以通过下面三种方法优雅的输出数组。可以直接用print_r输出:print_r($arr);也可以用下面几种方法:方法1:$aaa=array("11"=>"aaa","22"=>"bbb");//只能输出值value不能输出keyforeach($aaaas$val){  echo$val;}方法2://value与key都可输出foreach($aaaas$key=>$val){  echo$key."=>".$val;}方法3://value与key都可输出while($color=each($aaa)){  echo$color['key'];}或while(list($key,$value)=each($aaa)){  echo"$key:$value<br>";}

    • PHP代码
    • 83阅读
    • 2022-06-27

  • PHP砍价算法
    PHP砍价算法

    1、生成一次砍价金额$total='1000';//砍价总额。如果砍价次数固定为100左右,当前价格改为总价$num='100';//需要砍价人数if($num>1){$min=0.01;//最低砍价金额$safe_total=($total-($num-1)*$min)/($num-1);//随机安全上限if($min<$safe_total){//总价为最低价时,算出来的随机上限有可能会比最低价还低$total=mt_rand($min*100,$safe_total*100)/100;}//保留两位小数$total=sprintf("%.2f",$total);//砍掉的金额}print_r($total);die;2、生成全部砍价金额/***砍价算法-生成砍价金额*@paramint$people砍价人数或次数*@paramint$amount砍价总额*@paramint$min最低砍价金额不得低于0*@paramint$max最高砍价金额砍价次数*最高砍价金额不得小于砍价总额*@paramint$level层级防止递归超出限制*@returnarray*/functiongenRandomAmount($people=0,$totalAmount=0,$min=0,$max=0,$level=1){//防止递归超出限制报异常,提前退出if($level==200){return[];}$arr=[];if(empty($people)||empty($totalAmount)){return[];}$tmpTotal=$totalAmount*100;$tmpMin=$min*100;$tmpMax=$max*100;for($i=0;$i<$people-1;$i++){$arr[$i]=mt_rand($tmpMin,$tmpMax);$tmpTotal=$tmpTotal-$arr[$i];}$arr[$people-1]=$tmpTotal;if($tmpTotal<$tmpMin||$tmpTotal>$tmpMax){returngenRandomAmount($people,$totalAmount,$min,$max,$level+1);}returnarray_map(function($value){return$value/100;},$arr);}/***砍价算法-获取砍价金额*@paramint$people砍价人数或次数*@paramint$amount砍价总额*@paramint$min最低砍价金额不得低于0*@paramint$max最高砍价金额砍价次数*最高砍价金额不得小于砍价总额**@returnarray*/functiongetRandomAmount($people=0,$totalAmount=0,$min=0,$max=0){if($people*$max<=$totalAmount){returnfalse;}$arr=genRandomAmount($people,$totalAmount,$min,$max);//有几率会因为递归调用超出限制而返回空数组,这里继续重新生成,直到金额正确while(empty($arr)){$arr=genRandomAmount($people,$totalAmount,$min,$max);}return$arr;}$res=getRandomAmount(10,100,9.00,20.00);print_r($res);die;

    • PHP代码
    • 111阅读
    • 2022-06-09

  • PHP实现显示网站运行时间
    PHP实现显示网站运行时间

    这篇文章主要介绍了php实现显示网站运行时间,需要的朋友可以参考下,假设你的当前时间为这种格式“2017-01-01”,想计算几天后时间格式,可用的计算代码如下:本站运行:<?phpechofloor((time()-strtotime('2017-01-01'))/86400);?>输出格式为:本站运行:1704天如果你想计算多少年多少月多少日可用下面代码实现:<?phpdate_default_timezone_set('Asia/Shanghai');functionSec2Time($time){if(is_numeric($time)){$value=array("y"=>0,"m"=>0,"d"=>0,"h"=>0,"i"=>0,"s"=>0,);if($time>=31556926){$value["y"]=floor($time/31556926);$time=($time%31556926);}if($time>=2592000){$value["m"]=floor($time/2592000);$time=($time%2592000);}if($time>=86400){$value["d"]=floor($time/86400);$time=($time%86400);}if($time>=3600){$value["h"]=floor($time/3600);$time=($time%3600);}if($time>=60){$value["i"]=floor($time/60);$time=($time%60);}$value["seconds"]=floor($time);return(array)$value;}else{return(bool)FALSE;}$site_create_time=strtotime('2017-01-01');$time=time()-$site_create_time;$sltime=Sec2Time($time);echo'本站运行:';if($sltime['y']!='0'){echo$sltime['y'].'年';}if($sltime['m']=='0'&&$sltime['d']=='0'){echo'整';}if($sltime['m']!='0'){echo$sltime['m'].'月';}else{if($sltime['d']!='0'){echo'零';}}if($sltime['d']!='0'){echo$sltime['d'].'天';}}?>输出格式为:本站运行:4年8月3天

    • PHP代码
    • 101阅读
    • 2022-06-09

  • PHP指定时间戳/日期加一天,一年,一周,一月
    PHP指定时间戳/日期加一天,一年,一周,一月

    PHP指定时间戳加上1天,1周,1月,一年其实是不需要用上什么函数的!指定时间戳本身就是数字整型,我们只需要再计算1天,1周它的秒数相加即可!博主搜索php指定时间戳加一天一年,结果许多的文章给出来的结果是用的函数:strtotime();这个函数的确是可以很好的帮助到你,用这个函数有两种方法可以实现:第一:是你需要先把指定时间戳格式化再用这个函数才能加一天,一年.....;而且网上各大平台都没有讲到这个知识点!第二:直接用这个函数的第2个参数,很多人用这个函数基本上是不用第2个参数的,默认的第2个参数是得到当前时间戳,同时我们也可以自定义时间戳的;这个知识点互联网上更加的没有讲解到,连PHP手册也没有讲解到吧!具体请参考PHP函数:strtotime();以下是站三界导航分别了几种方法来实现PHP指定时期加一天,一年的方法,请大家仔细看PHP代码,有不懂的欢迎随时来留言评论!我都会给你解决的!<?phpechodate('Y-m-dH:i:s',strtotime('now'));//当前时间戳2022-01-0921:04:11echodate('Y-m-dH:i:s',strtotime('+1second'));//当前时间戳+1秒2022-01-0921:04:12echodate('Y-m-dH:i:s',strtotime('+1minute'));//当前时间戳+1分2022-01-0921:05:11echodate('Y-m-dH:i:s',strtotime('+1hour'));//当前时间戳+1小时2022-01-0922:04:11echodate('Y-m-dH:i:s',strtotime('+1day'));//当前时间戳+1天2022-01-1021:04:11echodate('Y-m-dH:i:s',strtotime('+1week'));//当前时间戳+1周2022-01-1621:04:11echodate('Y-m-dH:i:s',strtotime('+1month'));//当前时间戳+1月2022-02-0921:04:11echodate('Y-m-dH:i:s',strtotime('+1year'));//当前时间戳+1年2018-01-0921:04:11echodate('Y-m-dH:i:s',strtotime('+12year12month12day12hour12minute12second'));//当前时间戳+12年,12月,12天,12小时,12分,12秒2030-01-2209:16:23$t=1483967416;//指定时间戳echo$dt=date('Y-m-dH:i:s',$t);//2022-01-0921:10:16/*方法一*/echodate('Y-m-dH:i:s',$t+1*24*60*60);//指定时间戳+1天2022-01-1021:10:16echodate('Y-m-dH:i:s',$t+365*24*60*60);//指定时间戳+1年2018-01-0921:10:16/*方法二*///$dt是指定时间戳格式化后的日期echodate('Y-m-dH:i:s',strtotime("$dt+1day"));//指定时间戳+1天2022-01-1021:10:16echodate('Y-m-dH:i:s',strtotime("$dt+1year"));//指定时间戳+1年2018-01-0921:10:16/*方法三*///$t是指定时间戳echodate('Y-m-dH:i:s',strtotime("+1day",$t));//指定时间戳+1天2022-01-1021:10:16echodate('Y-m-dH:i:s',strtotime("+1year",$t));//指定时间戳+1年2018-01-0921:10:16//指定时间戳加1月、1周、1小时、1分、1秒原理同上;

    • PHP代码
    • 99阅读
    • 2022-06-08

  • PHP 中的 -> 和 :: 的区别
    PHP 中的 -> 和 :: 的区别

    ->类中用于引用类实例的方法和属性例如:classTest{functionadd(){return$this->var++;}var$var=0;}$a=newTest;//实例化对象名称echo$a->add();echo$a->var;::类中静态方法和静态属性的引用方法例如:classTest{publicstaticfunctiontest(){publicstatic$test=1;}}类的静态方法和静态属性可以不用实例化对象直接使用(使用的方式是类名::静态方法名)Test::test();//调用静态方法testTest::$test;//来取得$test静态属性的值注:静态方法在读到这个类或者引入这个类文件的时候,就已经实例化并存放到内存中了,非静态类则需要new一下。

    • PHP代码
    • 107阅读
    • 2022-06-08

站三界导航
本站声明:本站严格遵守国家相关法律规定,非正规网站一概不予收录。本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,站三界导航不承担任何责任。在此特别感谢您对站三界导航的支持与厚爱。