公共方法

/**
 * 生成默认商品编号/货号
 */
function WSTGoodsNo($pref = ''){
    return $pref.(round(microtime(true),4)*10000).mt_rand(0,9);
}
/**
 * 获取订单统一流水号
 */
function WSTOrderQnique(){
    return (round(microtime(true),4)*10000).mt_rand(1000,9999);
}
/**
 * 高精度数字相加
 * @param $num
 * @param number $i 保留小数位
 */
function WSTBCMoney($num1,$num2,$i=2){
	$num = bcadd($num1, $num2, $i);
	return (float)$num;
}

  

/**
 * 提供原生分页处理
 */
function WSTPager($total,$rs,$page,$size = 0){
    $pageSize = ($size>0)?$size:config('paginate.list_rows');
    $totalPage = ($total%$pageSize==0)?($total/$pageSize):(intval($total/$pageSize)+1);
    return ['total'=>$total,'per_page'=>$pageSize,'current_page'=>$page,'last_page'=>$totalPage,'data'=>$rs];
}
/**
 * 将传过来的字符串格式化为数值字符串
 * @param string $split 要格式的字符串
 * @param string $str 字符串中的分隔符号
 * @param boolean $isJoin 是否连成字符串返回
 */
function WSTFormatIn($split,$str,$isJoin = true){
    if($str=='')return $isJoin?'':[];
    $strdatas = explode($split,$str);
    $data = array();
    for($i=0;$i<count($strdatas);$i++){
        $data[] = (int)$strdatas[$i];
    }
    $data = array_unique($data);
    if($isJoin)return implode($split,$data);
    return $data;

}
/**
 * 生成随机字符串
 * @param integer $len 要生成的字符串长度
 */
function WSTRandStr($len = 6){
    $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    $tmp = '';
    for($i=0;$i<$len;$i++){
        $tmp.=$str[rand(0,35)];
    }
    return $tmp;
}
/**
 * 获取星期几
 */
function WSTgetWeek($date){
	//强制转换日期格式
	$date_str=date('Y-m-d',strtotime($date));
	$number_wk=date("w",strtotime($date));
	$weekArr=array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
	return $weekArr[$number_wk];
}

  

/**
 * URL 64位加密处理
 * @param string $data 字符串内容
 * @param boolean $isEncode true:编码  false:解码
 */
function WSTBase64url($data,$isEncode = true) {
  return ($isEncode)?rtrim(strtr(base64_encode($data), '+/', '-_'), '='):base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
}
/**
 * URL 64位加密处理[编码]
 * @param string $data 字符串内容
 */
function WSTBase64urlEncode($data){
    $secretKey = WSTConf('CONF.urlSecretKey');
    $base64 = new orgBase64();
     $key = WSTBase64url($base64->encrypt($data, $secretKey),true);
     return $key;
}

/**
 * URL 64位加密处理[解码]
 * @param string $data 字符串内容
 */
function WSTBase64urlDecode($data){
    $secretKey = WSTConf('CONF.urlSecretKey');
    $key = WSTBase64url($data,false);
    $base64 = new orgBase64();
      $key = $base64->decrypt($key,$secretKey);
      return $key;
}
/**
 * 判断访问端来源
 */
function WSTVisitModule(){
    $request = request();
    if($request->isMobile()){
        return (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false)?'wechat':'mobile';
    }
    return 'home';
}

  

/**
 * 计算剩余时间
 */
function WSTTimeToStr($second){
	$day = floor($second/(3600*24));
	$second = $second%(3600*24);//除去整天之后剩余的时间
	$hour = floor($second/3600);
	$second = $second%3600;//除去整小时之后剩余的时间
	$minute = floor($second/60);
	$second = $second%60;//除去整分钟之后剩余的时间
	//返回字符串
	return (($day>0)?($day.'天'):"").($hour<10?"0".$hour:$hour).':'.($minute<10?"0".$minute:$minute).':'.($second<10?"0".$second:$second);
}

  

/**
 * 分词
 */
function WSTAnalysis($str){
	$str = trim($str);
	$do_fork = true;
    $do_unit = true;//新词识别
    $do_multi = true;//多元切分
    $do_prop = false;//词性标注
    $pri_dict = false;//是否预载全部词条
    $pa = new phpanalysisphpanalysis('utf-8', 'utf-8', $pri_dict);
    //载入词典
    $pa->LoadDict();
    //执行分词
    $pa->SetSource($str);
    $pa->differMax = $do_multi;
    $pa->unitWord = $do_unit;
    $pa->StartAnalysis( $do_fork );
    $str = $pa->GetFinallyResult(' ', $do_prop);
    $str = explode(' ',$str);
    $rs = array();
    foreach ($str as $key =>$v){
    	if(trim($v)=='' || trim($v)==')' || trim($v)=='(')continue;
    	$rs[] = $v;
    }
    return $rs;
}

  

原文地址:https://www.cnblogs.com/yszr/p/14688065.html