封装的函数

(一).封装的函数:

	/**
	 * 判断是否为11121
	 * @return bool
	 */
	function is_11121()
	{
	    return in_array(date("d",time()),[1,11,21]);
	}

	/**
	 * 微信签名算法
	 * @param $arr
	 * @param $key
	 * @return string
	 */
	function sign($arr,$key)
	{
	    if(ksort($arr))
	    {
	        $str="";
	        foreach ($arr as $k=>$v)
	        {
	            $str=$str.$k."=".$v."&";
	        }
	    }
	    $str=$str."key=".$key;
	    return strtoupper(md5($str));
	}

	/**
	 * @param $durl
	 * @return mixed
	 */
	function curl_file_get_contents($durl){
	    $ch = curl_init();
	    curl_setopt($ch, CURLOPT_URL, $durl);
	    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回
	    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ; // 在启用 CURLOPT_RETURNTRANSFER 时候将获取数据返回
	    $r = curl_exec($ch);
	    curl_close($ch);
	    return $r;
	}

	/**
	 * @param $bucket
	 * @param $key
	 * @return array|string
	 */
	function getUcloud($bucket, $key) {
	    //$curtime = time();
	    //$curtime += 3600*24*365; // 有效期60秒
	    $url = UCloud_MakePrivateUrl($bucket, $key);
	    //$content = curl_file_get_contents($url);
	    return $url;
	}

	/**
	 * 生成订单号
	 * @return string
	 */
	function make_no()
	{
	    return strval(date('YmdHis') . substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 4));
	}

	/**
	 * 生成优惠卷编号
	 * @param string $TYPE
	 * @param int $LENGTH
	 * @return string
	 */
	function make_rand_str($TYPE = 'admix', $LENGTH = 12)
	{
	    //dictionary
	    $dictionary = array(
	        'string' => 'qwertyuiopasdfghjklzxcvbnm',
	        'STRING' => 'QWERTYUIOPASDFGHJKLZXCVBNM',
	        'String' => 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM',
	        'admix' => 'q1we3rty2ui6opa4sdf7ghj5klz8xc9vbn0m',
	        'ADMIX' => 'Q1WE3RTY2UI6OPA4SDF7GHJ5KLZ8XC9VBN0M',
	        'Admix' => 'Q1WE3RTY2UI6OPA4SDF7GHJ5KLZ8XC9VBN0Mq1we3rty2ui6opa4sdf7ghj5klz8xc9vbn0m',
	        'num' => '1234567890',
	    );
	    $type = 'admix';
	    if (empty($TYPE) == false) {
	        $type = trim($TYPE);
	    }
	    $length = 8;
	    if ($LENGTH > 1) {
	        $length = (int)$LENGTH;
	    }
	    $str = '';
	    switch ($type) {
	        case 'string' :
	            for ($i = 0; $i < $length; $i++) {
	                $str .= $dictionary{$type}{rand(0, 25)};
	            }
	            break;
	        case 'STRING' :
	            for ($i = 0; $i < $length; $i++) {
	                $str .= $dictionary{$type}{rand(0, 25)};
	            }
	            break;
	        case 'String' :
	            for ($i = 0; $i < $length; $i++) {
	                $str .= $dictionary{$type}{rand(0, 51)};
	            }
	            break;
	        case 'admix' :
	            for ($i = 0; $i < $length; $i++) {
	                $str .= $dictionary{$type}{rand(0, 35)};
	            }
	            break;
	        case 'ADMIX' :
	            for ($i = 0; $i < $length; $i++) {
	                $str .= $dictionary{$type}{rand(0, 35)};
	            }
	            break;
	        case 'Admix' :
	            for ($i = 0; $i < $length; $i++) {
	                $str .= $dictionary{$type}{rand(0, 71)};
	            }
	            break;
	        case 'num' :
	            for ($i = 0; $i < $length; $i++) {
	                $str .= $dictionary[$type][rand(0, 9)];
	            }
	            break;
	    }
	    return $str.uniqid();
	}
	/*
	 * 获取前一天的开始和结束时间
	 */
	function getLastTime()
	{
	    $str=date("Y-m-d",strtotime("-1 day"))." 0:0:0";
	    $data["star"]=strtotime($str);
	    $str=date("Y-m-d",strtotime("-1 day"))." 24:00:00";
	    $data["end"]=strtotime($str);
	    return $data;
	}

	/**
	 * 获取今天的开始和结束时间
	 * @return mixed
	 */
	function getTime()
	{
	    $str=date("Y-m-d",time())." 0:0:0";
	    $data["star"]=strtotime($str);
	    $str=date("Y-m-d",time())." 24:00:00";
	    $data["end"]=strtotime($str);
	    return $data;
	}

	/**
	 * @param $multi_array
	 * @param $sort_key
	 * @param int $sort
	 * @return bool
	 */
	function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){
	    if(is_array($multi_array)){
	        foreach ($multi_array as $row_array){
	            if(is_array($row_array)){
	                $key_array[] = $row_array[$sort_key];
	            }else{
	                return false;
	            }
	        }
	    }else{
	        return false;
	    }
	    array_multisort($key_array,$sort,$multi_array);
	    return $multi_array;
	}
	/*
	 * 判断今天昨天前天
	 */
	function getDay($time)
	{
	    //判断是否是今天
	    $time=strtotime($time);
	    $today=getTime();
	    if ($time==$today["star"])
	    {
	        return "今天";
	    }
	    if ($time==getLastTime()["star"])
	    {
	        return "昨天";
	    }
	    if ($time==strtotime(date("Y-m-d",strtotime("-2 days"))." 0:0:0"))
	    {
	        return "前天";
	    }
	    return "";
	}
	/*
	 * 接口数据格式返回
	 */
	function json($errno, $data = null, $error = 'success')
	{
	    if (is_null($data)) {
	        $data = ['err' => $errno, 'msg' => $error];
	    } elseif (is_string($data)) {
	        $data = ['err' => $errno, 'msg' => $data];
	    } else {
	        $data = ['err' => $errno, 'msg' => $error, 'data' => $data];
	    }
	    return $data;
	}
	/*
	 * 返回上午下午
	 */
	function getStrTime(){
	    $no=date("H",time());
	    if ($no>0&&$no<=6){
	        return "凌晨好";
	    }
	    if ($no>6&&$no<12){
	        return "上午好";
	    }
	    if ($no>=12&&$no<=18){
	        return "下午好";
	    }
	    if ($no>18&&$no<=24){
	        return "晚上好";
	    }
	    return "您好";
	}
	/*
	 * 无限极分类
	 */
	function make_tree($list,$pk='id',$pid='parent_id',$child='child',$root=0){
	    $tree=array();
	    $packData=array();
	    foreach ($list as  $data) {
	        $packData[$data[$pk]] = $data;
	    }
	    foreach ($packData as $key =>$val){
	        if($val[$pid]==$root){//代表根节点
	            $tree[]=& $packData[$key];
	        }else{
	            //找到其父类
	            $packData[$val[$pid]][$child][]=& $packData[$key];
	        }
	    }
	    return $tree;
	}
	/*
	 * 省市一样返回一个
	 */
	function city_province($province,$city)
	{
	 if (mb_substr($province,0,2)==mb_substr($city,0,2))
	 {
	     return $province;
	 }
	 return $province.$city;
	}
	/*
	 * 年月日返回时间轴
	 */
	function getTimeStamp($str)
	{
	    $year=mb_substr($str,0,4);
	    $month=mb_substr($str,5,2);
	    $day=mb_substr($str,8,2);
	    return $year."/".$month."/".$day;
	}
	/*
	 * 员工数组
	 */
	function isEmployee($phone)
	{
	    $employee=[
	        18518092630,
	        13811188441,
	        15501031831,    
	        15226593622
	    ];
	    if (in_array($phone,$employee))
	    {
	        return false;
	    }else
	        {
	            return true;
	        }
	}
	/*
	 * 返回员工手机号
	 */
	function employeePhone()
	{
	    return $employee=[
	        '18518092630',
	        '13811188441',
	        '13910337645',
	        '18210851220',
	        '15226593622'
	    ];
	}
	/*
	 * 返回整数
	 */
	function getInt($int)
	{
	    $length=strlen($int)-1;
	    $str=str_repeat(0,$length);
	    return mb_substr($int,0,1)."$str";
	}
	/*
	 * 返回大整数
	 */
	function getLargeInt($int)
	{
	    $length=strlen($int)-1;
	    $str=str_repeat(0,$length);
	    $temp=mb_substr($int,0,1)+1;
	    return $temp."$str";
	}
	/*
	 * 二位数组取最大值pv
	 */
	function getArrayMax($arr,$field)
	{
	    foreach ($arr as $k=>$v){
	        $temp[]=$v[$field];
	    }
	    return max($temp);
	}
	/*
	 * 数字转汉字
	 */
	function number2chinese($num,$mode = true,$sim = false){
	    if(!is_numeric($num)) return '含有非数字非小数点字符!';
	    $char    = $sim ? array('零','一','二','三','四','五','六','七','八','九')
	        : array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖');
	    $unit    = $sim ? array('','十','百','千','','万','亿','兆')
	        : array('','拾','佰','仟','','萬','億','兆');
	    $retval  = $mode ? '元':'点';
	    //小数部分
	    if(strpos($num, '.')){
	        list($num,$dec) = explode('.', $num);
	        $dec = strval(round($dec,2));
	        if($mode){
	            if (!isset($dec['0']))
	            {
	                $dec['0']=0;
	            }
	            if (!isset($dec['1']))
	            {
	                $dec['1']=0;
	            }
	            $retval .= "{$char[$dec['0']]}角{$char[$dec['1']]}分";
	        }else{
	            for($i = 0,$c = strlen($dec);$i < $c;$i++) {
	                $retval .= $char[$dec[$i]];
	            }
	        }
	    }
	    //整数部分
	    $str = $mode ? strrev(intval($num)) : strrev($num);
	    for($i = 0,$c = strlen($str);$i < $c;$i++) {
	        $out[$i] = $char[$str[$i]];
	        if($mode){
	            $out[$i] .= $str[$i] != '0'? $unit[$i%4] : '';
	            if($i>1 and $str[$i]+$str[$i-1] == 0){
	                $out[$i] = '';
	            }
	            if($i%4 == 0){
	                $out[$i] .= $unit[4+floor($i/4)];
	            }
	        }
	    }
	    $retval = join('',array_reverse($out)) . $retval;
	    return $retval;
	}
	/**
	 * 获取月初时间
	 */
	function getMonthStar()
	{
	    $date=date("Y-m-01");
	    return strtotime($date);
	}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值