美文网首页
PHP - TP5常用自定义函数

PHP - TP5常用自定义函数

作者: wyc0859 | 来源:发表于2019-02-25 16:59 被阅读0次

替换手机号码中间四位数字

function hide_phone($str){
    $resstr = substr_replace($str,'****',3,4);  
    return $resstr;  
}

子孙树 用于菜单整理 (一级)

function subTree($param, $pid = 0)
{
    static $res = [];
    foreach($param as $key=>$vo){

        if( $pid == $vo['pid'] ){
            $res[] = $vo;
            if($vo['is_visible']==1){
                $param[$key]['is_visible']=true;
            }else{
                $param[$key]['is_visible']=false;
            }
            subTree($param, $vo['category_id']);
        }
    }
    return $res;
}

子孙树 用于菜单整理(多级)

function create_tree($data,$pk='id',$pid='pid'){
    $tree = $list = [];

    foreach ($data as $val) {
        $list[$val[$pk]] = $val;
    }

    foreach ($list as $key =>$val){
        if($val[$pid] == 0){
            $tree[] = &$list[$key];
        }else{
            //找到其父类
            $list[$val[$pid]]['children'][] = &$list[$key];
        }
    }
    return $tree;
}

整理菜单树方法

function prepareMenu($param)
{
    $parent = []; //父类
    $child = [];  //子类

    foreach($param as $key=>$vo){

        if($vo['pid'] == 0){
            $vo['href'] = '#';
            $parent[] = $vo;
        }else{
            $vo['href'] = url($vo['name']); //跳转地址
            $child[] = $vo;
        }
    }

    foreach($parent as $key=>$vo){
        foreach($child as $k=>$v){

            if($v['pid'] == $vo['id']){
                $parent[$key]['child'][] = $v;
            }
        }
    }
    unset($child);
    return $parent;
}

生成订单编号

function makeOrderNum()
{
    $yCode = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J','K');
    $orderSn =
        $yCode[intval(date('Y')) - 2019] . strtoupper(dechex(date('m'))) . date(
            'd') . substr(time(), -5) . substr(microtime(), 2, 5) . sprintf(
            '%02d', rand(0, 99));
    return $orderSn;
}

密码加密方式

function password($password,$psw_code='lasdjq2323')
{ 
    return md5(md5($password) . md5($psw_code));
}

格式化字节大小

function format_bytes($size, $delimiter = '') {
    $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB');
    for ($i = 0; $size >= 1024 && $i < 5; $i++) $size /= 1024;
    return round($size, 2) . $delimiter . $units[$i];
}

生成随机字符串

function get_randomstr($length = 6) {
    $chars = '123456789abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ';
    $hash = '';
    $max = strlen($chars) - 1;
    for($i = 0; $i < $length; $i++) {
        $hash .= $chars[mt_rand(0, $max)];
    }
    return $hash;
}

截取字符串

function msubstr($str, $start = 0, $length, $charset = "utf-8", $suffix = true) {
    if (function_exists("mb_substr"))
        $slice = mb_substr($str, $start, $length, $charset);
    elseif (function_exists('iconv_substr')) {
        $slice = iconv_substr($str, $start, $length, $charset);
        if (false === $slice) {
            $slice = '';
        }
    } else {
        $re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
        $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
        $re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
        $re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
        preg_match_all($re[$charset], $str, $match);
        $slice = join("", array_slice($match[0], $start, $length));
    }
    return $suffix ? $slice . '...' : $slice;
}

生成网址的二维码 返回图片地址

function Qrcode($token, $url, $size = 8){ 
    $md5 = md5($token);
    $dir = date('Ymd'). '/' . substr($md5, 0, 10) . '/';
    $patch = 'qrcode/' . $dir;
    if (!file_exists($patch)){
        mkdir($patch, 0755, true);
    }
    $file = 'qrcode/' . $dir . $md5 . '.png';
    $fileName =  $file;
    if (!file_exists($fileName)) {

        $level = 'L';
        $data = $url;
        QRcode::png($data, $fileName, $level, $size, 2, true);
    }
    return $file;
}

相关文章

  • PHP - TP5常用自定义函数

    替换手机号码中间四位数字 子孙树 用于菜单整理 (一级) 子孙树 用于菜单整理(多级) 整理菜单树方法 生成订单编...

  • PHP中一些函数方法

    php自定义函数之递归函数 php自定义函数之静态变量 php​ 使用系统内置函数 亚麻跌”是PHP学习时间处理的...

  • tp记录

    增加自定义extend目录tp5:thinkphp>library>think>Loader.php搜索参考 tp...

  • PHP函数式编程

    一、函数简介 1.PHP中的函数就是完成某些功能的代码段2.PHP中的函数分为系统函数和自定义函数 二、自定义函数...

  • 链家-开发商端-面试题

    php php常用的数组及用法 php魔术函数 php私有成员变量 列举常用的打印函数及区别 实现一个单例模式 调...

  • PHP中如何将反斜杠(\)替换为正斜杠(/)

    在tp5框架的模板中可以使用这种形式{:函数(参数1,参数2,参数3)}//适用所有php函数及tp函数(如tp助...

  • PHP 常用自定义函数

    获取分页信息 二维数组去重 二维数组合并重复项 二维数组排序 二维数组字母排序

  • PHP自定义函数设置超时间

    PHP自定义函数设置超时间

  • 2018 10 19

    继续学习常用php原生函数

  • 九月四号

    PHP函数之内置函数 内置函数指的是PHP默认支持的函数,PHP内置了很多标准的常用的处理函数,包括字符串处理、数...

网友评论

      本文标题:PHP - TP5常用自定义函数

      本文链接:https://www.haomeiwen.com/subject/sqbgyqtx.html