• PHP常用自定义函数笔记


    处理小数的精度

    /**
     * 保留小数的位数(不四舍五入)
     * @param float $f  小数
     * @param int $precision 精度
     * @return float|int
     */
    function floatPrecision($f, $precision = 2)
    {
        $divisor = str_pad('1', $precision + 1, '0');
        return floor($f * $divisor) / $divisor;
    }
    

    处理乱码信息

    /**
     * 处理乱码的错误信息(比如socket,tcp。。。)
     * @param $str
     * @return null|string|string[]
     */
     function doEncoding($str){
        $encode = strtoupper(mb_detect_encoding($str, ["ASCII",'UTF-8',"GB2312","GBK",'BIG5']));
        if($encode!='UTF-8'){
            $str = mb_convert_encoding($str, 'UTF-8', $encode);
        }
        return $str;
    }
    

    检测是否包含中文

    下面这个方法对应数字,英文字母的检测没有问题,但是对应检测柬埔寨语言就有问题

    មុខ​មាត់​ដូច​គ្ 这个字符串也能匹配出包含中文的。

    /**
     * 检查字符串是否包含中文
     * @param $str
     * @return bool
     */
    function checkStrIncludeCn($str)
    {
        $reg = '/[x7f-xff]/';
        $result = preg_match($reg, trim($str),$match);
        var_dump($match);
        return $result > 0 ? true : false;
    }
    

    /**
    *

    • 检查utf-8编码的字符串是否包含中文
    • @param $str
    • @return bool
      */
      function checkUtf8StrIncludeCn($str){
      $pattern = '/[x{4e00}-x{9fa5}]/u';
      $result = preg_match($pattern,$str,$match);
      return $result > 0 ? true : false;
      }
  • 相关阅读:
    前台js加密实例
    Redis 核心原理
    Rredis的安装与常用命令
    Zookeeper的源码环境的搭建和源码解读
    Zookeeper集群搭建
    Zookeeper的客户端API使用
    Zookeeper介绍
    HashMap的死锁 与 ConcurrentHashMap
    定时任务 & 定时线程池 ScheduledThreadPoolExecutor
    Fork/Join框架
  • 原文地址:https://www.cnblogs.com/zqsb/p/11004424.html
Copyright © 2020-2023  润新知