-
PHP中将中文转码为ASCII码值换为&#XXXX的形式
?phpfunctioncode($c,$prefix=#){$len=strlen($c);$a=0;while($a$len){$ud=0;if(ord($c{$a})=0ord($c{$a})=127){$ud=ord($c{$a});$a+=1;}elseif(ord($c{$a})=192ord($c{$a})=223){$ud=(ord($c{$a})-192)*64+(ord($c{$a+1})-128);$a+=2;}elseif(ord($c{$a})=224ord($c{$a})=239){$ud=(ord($c{$a})-224)*4096+(ord($c{$a+1})-128)*64+(ord($c{$a+2})-128);$a+=3;}elseif(ord($c{$a})=240ord($c{$a})=247){$ud=(ord($c{$a})-240)*262144+(ord($c{$a+1})-128)*4096+(ord($c{$a+2})-128)*64+(ord($c{$a+3})-128);$a+=4;}elseif(ord($c{$a})=248…
-
PHP随机获取国内IP地址的方法
?php//随机IP地址//$randip=rand(1,254)...rand(1,254)...rand(1,254)...rand(1,254);//echo$randip;//随机国内IP地址$iprand=array(array(607649792,608174079),/*36.56.0.0-36.63.255.255*/array(1038614528,1039007743),/*61.232.0.0-61.237.255.255*/array(1783627776,1784676351),/*106.80.0.0-106.95.255.255*/array(2035023872,2035154943),/*121.76.0.0-121.77.255.255*/array(2078801920,2079064063),/*123.232.0.0-123.235.255.255*/array(-1950089216,-1948778497),/*139.196.0.0-139.215.255.255*/array(-142553907…
-
PHP获取周的开始时间和结束时间戳函数
1、根据指定时间获取所在周的起始时间和结束时间 ?php/***@paramdata日期*/functionget_weekinfo_by_time($date){$idx=strftime(%u,strtotime($date));$mon_idx=$idx-1;$sun_idx=$idx-7;returnarray(week_start_day=strftime(%Y-%m-%d,strtotime($date)-$mon_idx*86400),week_end_day=strftime(%Y-%m-%d,strtotime($date)-$sun_idx*86400),);}? 2、通过时间戳获取某周的开始时间和结束时间 ?php/***@paramtime时间*@paramfirst表示每周星期一为开始日期0表示每周日为开始…
-
PHP获取指定月份的起止时间戳
?php/***获取指定月份的时间戳*@param$dateY-m*/functionget_month_begin_end($date){//$date=2018-11;$data[begin_time]=strtotime($date);//指定月份月初时间戳$data[end_time]=mktime(23,59,59,date(m,strtotime($date))+1,00);//指定月份月末时间戳return$data;}? …
-
PHP怎么获取数组中的某个值
php可以获取数组某一项的值 方法1:使用“$数组名[下标]”语句获取“$数组名[下标]”可以访问数组中的指定下标的一个元素。 ?php$arr=array(香蕉,苹果,梨子,橙子,橘子,榴莲);var_dump($arr);echo数组下标为0的一个元素:.$arr[0].br;echo数组下标为2的一个元素:.$arr[2].br;echo数组下标为3的一个元素:.$arr[3].br;? 方法2:使用array_shift()函数获取 ?php$arr=array(香蕉,苹果,梨子,橙子,橘子,榴莲);var_dum…
-
PHP遍历数组效率最高的几种方法
PHP中遍历数组有三种常用的方法: 一、使用for语句循环遍历数组; 二、使用foreach语句遍历数组; 三、联合使用list()、each()和while循环遍历数组。 这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用。先分别介绍这几种方法。 一、使用for语句循环遍历数组 值得大家注意的是使用for语句循环遍历数…
-
PHP获取指定日期之间的各个周
?php/***@paramsdate开始日期*@paramedate结束日期*/functionget_weeks($sdate,$edate){$range_arr=array();//检查日期有效性check_date(array($sdate,$edate));//计算各个周的起始时间do{$weekinfo=get_weekinfo_by_date($sdate);$end_day=$weekinfo[week_end_day];$start=substr_date($weekinfo[week_start_day]);$end=substr_date($weekinfo[week_end_day]);$range={$start}~{$end};$range_arr[]=$range;$sdate=date(Y-m-d,strtotime($sdate)+7*86400);}while($end_day$edate);return$range_arr;}/***检查日…
-
PHP从数组中随机获取其中的一个数值
?php$img_num=array(6,8,10,15,16,17,19,20,21,24,25,30);//一组数组$fileath=$img_num[array_rand($img_num)];//随机获取该数组中一个值echo$fileath;? …
-
PHP获取指定日期是周几的时间戳函数
?php/***@paramdata日期*/functionDateToWeek($date){//强制转换日期格式$date_str=date(Y-m-d,strtotime($date));//封装成数组$arr=explode(-,$date_str);//参数赋值//年$year=$arr[0];//月,输出2位整型,不够2位右对齐$month=sprintf(%02d,$arr[1]);//日,输出2位整型,不够2位右对齐$day=sprintf(%02d,$arr[2]);//时分秒默认赋值为0;$hour=$minute=$second=0;//转换成时间戳$strap=mktime($hour,$minute,$second,$month,$day,$year);//获取数字型星期几$num…
-
PHP获取指定日期之间的各个月
?php/***@paramsdate开始日期*@paramedate结束日期*/functionget_months($sdate,$edate){$range_arr=array();do{$monthinfo=get_monthinfo_by_date($sdate);$end_day=$monthinfo[month_end_day];$start=substr_date($monthinfo[month_start_day]);$end=substr_date($monthinfo[month_end_day]);$range={$start}~{$end};$range_arr[]=$range;$sdate=date(Y-m-d,strtotime($sdate.+1month));}while($end_day$edate);return$range_arr;}/***截取日期中的月份和日*@paramstring$date*@returnstring$date*/functionsubstr_da…