封装的函数

来源:互联网 发布:局域网控制桌面软件 编辑:程序博客网 时间:2024/06/05 15:58
(一).封装的函数:/** * 判断是否为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);}