随手写的一些好用的功能(不定时更新)

1.整理多表单传送值问题

当遇到前台同名表单以数组形式传递过来的数值时,为了分组规范,必须要整理,所以就有了下面的功能

假设: $data_temp = $_POST;(当然实际情况不一定直接这样接收,可能涉及到需要特殊字符过滤)

 foreach($data_temp as $key=>$val){
            foreach($val as $ek=>$evl){
$data[$ek][$key] = $evl;
            }
        }

2.自定义递归翻转数组

  function  array_rev( $arr ){
       for ( $i = count ( $arr )-1; $i >=0; $i --){
           if ( is_array ( $arr [ $i ])){    //这里判断是否为数组
               $temp1  = array_rev( $arr [ $i ]);   //若为数组则开始调用自身
               $temp [] =  $temp1 ;
               continue ;
           }
           $temp [] =  $arr [ $i ];
       }
       return  $temp ;
   }

//昨天,今天和明天的日期转换
//($startstr 今天开始时间戳)
//返回(昨天,今天和明天)的0点和23点59分59秒
function alldaytostr($startstr) {
    $oneday_count = 3600 * 24;  //一天有多少秒
    //明天
    $tomorrow_s = $startstr + $oneday_count;    //明天开始
    $tomorrow_e = $tomorrow_s + $oneday_count - 1;  //明天结束
    //昨天
    $yesterday_s = $startstr - $oneday_count;  //昨天开始
    $yesterday_e = $startstr - 1;   //昨天结束
    //今天结束
    $today_e = $tomorrow_s - 1;
    //昨天、今天和明天 0点和当天23点59分59秒合并成数组
    $allday_array = array('yesterday' => array($yesterday_s, $yesterday_e),
        'today' => array($startstr, $today_e),
        'tomorrow' => array($tomorrow_s, $tomorrow_e));
    return $allday_array;
}
定义一个开始时间和结束时间,判断比较如果这两个时间之间相差大于3天则用结束时间减去开始时间然后所得时间差除以2取得中间时间,若两时间差小于3天则直接返回开始时间。
function apart($start_time,$end_time){
			$start_time = strtotime(date('Y-m-d',$start_time));
			$end_time = strtotime(date('Y-m-d',$end_time));
		 	$apart_time = $end_time - $start_time;
		 	$day = $apart_time / 86400;
		 	if($day <= 3){
		 		$time = date('Y-m-d',$start_time);
		 	}else{
		 		$space = ceil($day / 2);
		 		$time = date("Y-m-d",strtotime($space.' days',$start_time));
		 	}
			return $time;
		}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值