<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      php functions 生成唯一碼

      <?php
      
      /**
       * 微擎密碼生成
       *
       */
      
      function we7password($passwordinput, $salt, $authkey)
      {
          $passwordinput = "{$passwordinput}-{$salt}-{$authkey}";
          return sha1($passwordinput);
      }
      
      /*****************************************時間相關函數*********************************************** */
      
      /**
       * @title  計算時間差
       * @author lyj [author] [2018-06-07]
       * @param  [type] $datetimeStr1 [日期時間字符串1]
       * @param  [type] $datetimeStr2 [日期時間字符串2]
       * @return [type]               [返回秒數]
       */
      function getDateTimeDifference($datetimeStr1, $datetimeStr2)
      {
          return strtotime($datetimeStr1) - strtotime($datetimeStr2);
      }
      
      /**
       * @title  時間戳 轉 日期時間字符串
       * @author lyj [author] [2018-06-07]
       * @param  [type] $timeStamp [時間戳 數字]
       * @param  string $pattern   [日期時間格式 Y-m-d H:i:s]
       * @return [type]            [返回 日期時間字符串]
       */
      function getDateTimeStr($timeStamp = null, $pattern = 'Y-m-d H:i:s')
      {
          if ($timeStamp == null || !is_int($timeStamp)) {
              return date($pattern);
          } else {
              return date($pattern, $timeStamp);
          }
      }
      
      /**
       * @title  根據需要返回對應時間戳
       * @author lyj [author] [2018-06-04]
       * @param  string $config [description]
       * @return [type]         [description]
       */
      function getTimestamp($config = '')
      {
          switch ($config) {
              case '1':
                  // 返回 明天 的Unix時間戳
                  return strtotime("+1 day");
                  break;
              case '2':
                  // 返回 昨天 的Unix時間戳
                  return strtotime("-1 day");
                  break;
              case '3':
                  // 返回 下月 的Unix時間戳
                  return strtotime("+1 month");
                  break;
              case '4':
                  // 返回 上月 的Unix時間戳
                  return strtotime("-1 month");
                  break;
              case '5':
                  // 返回 明年 的Unix時間戳
                  return strtotime("+1 year");
                  break;
              case '6':
                  // 返回 上年 的Unix時間戳
                  return strtotime("-1 year");
                  break;
              case '7':
                  // 返回 下星期 的Unix時間戳
                  return strtotime("+1 week");
                  break;
              case '8':
                  // 返回 上星期 的Unix時間戳
                  return strtotime("-1 week");
                  break;
              case '9':
                  // 返回 本月第一天 的Unix時間戳
                  return strtotime(date("Y-m-01 H:i:s"));
                  break;
              case '10':
                  // 返回 本月最后一天 的Unix時間戳
                  return strtotime(date("Y-m-t H:i:s"));
                  break;
              case '11':
                  // 返回 本周第一天 的Unix時間戳
                  return strtotime("this week");
                  break;
              case '12':
                  // 返回 本周最后一天 的Unix時間戳
                  return strtotime("last day this week");
                  break;
      
              case '13':
                  // 返回 今年開始 的Unix時間戳
                  return strtotime(date("Y-m-d"));
                  break;
              default:
                  // 返回 當前 的Unix時間戳
                  return time();
                  break;
          }
      }
      
      /*****************************************時間相關函數*********************************************** */
      
      /*****************************************工具類函數*********************************************** */
      
      /**
       * 獲取二維數組中某列 $colstr 的最大最小值
       */
      function getMaxAndMinInArr($arr, $colstr = 0)
      {
          //求colstr這一列的最大值
          $max = 0;
          foreach ($arr as $key => $val) {
              $max = max($max, $val[$colstr]);
          }
      
          //求colstr這一列的最小值
          $min = $max;
          foreach ($arr as $key => $val) {
              $min = min($min, $val[$colstr]);
          }
      
          return array('max' => $max, 'min' => $min);
      }
      
      /**
       * @param int $n  參數。188752
       * @param int $length  要保存的小數位
       * @param bool $status 當為true時四舍五入保存
       * @return double   返回數據
       */
      function decimals($n = 0, $length = 2, $status = false)
      {
          if ($status === true) {
              $num = round($n, $length);
              return $num;
          }
          $n = (string) $n;
          $n = explode('.', $n);
          $n[0] .= '.';
          for ($i = 0; $i < $length; $i++) {
              $n[0] .= !isset($n[1][$i]) ? '0' : $n[1][$i];
          }
          return $n[0];
      }
      
      /**
       * 獲取唯一碼
       * @param int $len
       * @return string
       */
      function get_uni_code($len = 8)
      {
          $code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
          $rand = $code[rand(0, 25)]
          . strtoupper(dechex(date('m')))
          . date('d') . substr(time(), -5)
          . substr(microtime(), 2, 5)
          . sprintf('%02d', rand(0, 99));
          for (
              $a = md5($rand),
              $s = '0123456789ABCDEFGHIJKLMNOPQRSTUV',
              $d = '',
              $f = 0;
              $f < $len;
              $g = ord($a[$f]),
              $d .= $s[($g ^ ord($a[$f])) - $g & 0x1F],
              $f++
          );
      
          return $d;
      }
      
      /**
       * 根據兩點經緯度計算距離
       * @param $lat1 點1緯度
       * @param $lng1 點1經度
       * @param $lat2 點2緯度
       * @param $lng2 點2經度
       * @return float 距離單位:千米
       */
      function get_distance($lat1, $lng1, $lat2, $lng2)
      {
          $earthRadius = 6371.004;
          $lat1 = ($lat1 * pi()) / 180;
          $lng1 = ($lng1 * pi()) / 180;
          $lat2 = ($lat2 * pi()) / 180;
          $lng2 = ($lng2 * pi()) / 180;
          $calcLongitude = $lng2 - $lng1;
          $calcLatitude = $lat2 - $lat1;
          $stepOne = pow(sin($calcLatitude / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($calcLongitude / 2), 2);
          $stepTwo = 2 * asin(min(1, sqrt($stepOne)));
          $calculatedDistance = $earthRadius * $stepTwo;
      
          return sprintf("%.2f", $calculatedDistance);
      }
      
      /**
       * @title  隨機字符串
       * @author lyj [author] [2018-06-08]
       * @param  integer $length  [字符長度]
       * @param  string  $type    [類型 數字 大寫字母 小寫字母 全部]
       * @param  integer $convert [大小寫 大于0 大寫 小于0 小寫]
       * @return [type]           [description]
       *
       * echo random(32,'all',-45646);
       */
      function random($length = 6, $type = 'all', $convert = 0)
      {
          $config = array(
              'number' => '1234567890',
              'capital_letter'=> 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
              'small_letter'=> 'abcdefghijklmnopqrstuvwxyz',         
              'all'    => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
          );
       
          if (!isset($config[$type])) {
              $type = 'string';
          }
          $string = $config[$type];
       
          $code = '';
          $strlen = strlen($string) - 1;
          for ($i = 0; $i < $length; $i++) {
              $code .= $string{mt_rand(0, $strlen)};
          }
          if ($convert != 0) {
              $code = ($convert > 0) ? strtoupper($code) : strtolower($code);
          }
          return $code;
      }
      
      
      /**
       * @title  去除代碼中的空白和注釋
       * @author lyj [author] [2018-06-08]
       * @param  [type] $content [php文件內容]
       * @return [type]          [清空空白和注釋后的代碼]
       *
       *
       *  使用說明
       *   $phpstr = file_get_contents("E:/www/test/functions.php");
       *   $phpstr_new = strip_whitespace($phpstr); 
       *   file_put_contents('E:/www/test/newphp.php', $phpstr_new);
       */
      function strip_whitespace($content) 
      {
          $stripStr   = '';
          //分析php源碼
          $tokens     = token_get_all($content);
          $last_space = false;
          for ($i = 0, $j = count($tokens); $i < $j; $i++) {
              if (is_string($tokens[$i])) {
                  $last_space = false;
                  $stripStr  .= $tokens[$i];
              } else {
                  switch ($tokens[$i][0]) {
                      //過濾各種PHP注釋
                      case T_COMMENT:
                      case T_DOC_COMMENT:
                          break;
                      //過濾空格
                      case T_WHITESPACE:
                          if (!$last_space) {
                              $stripStr  .= ' ';
                              $last_space = true;
                          }
                          break;
                      case T_START_HEREDOC:
                          $stripStr .= "<<<THINK\n";
                          break;
                      case T_END_HEREDOC:
                          $stripStr .= "THINK;\n";
                          for($k = $i+1; $k < $j; $k++) {
                              if(is_string($tokens[$k]) && $tokens[$k] == ';') {
                                  $i = $k;
                                  break;
                              } else if($tokens[$k][0] == T_CLOSE_TAG) {
                                  break;
                              }
                          }
                          break;
                      default:
                          $last_space = false;
                          $stripStr  .= $tokens[$i][1];
                  }
              }
          }
          return $stripStr;
      }
      
      if (!function_exists('arr_multi_sort')) {
          
          /**
           * 根據二維數組某列 排序
           *
           * @param [type] $arr  數組
           * @param [type] $arg  列的鍵值
           * @param string $sort 排序類型 asc 升序 desc 降序 默認升序
           * @return void
           */
          function arr_multi_sort(&$arr,$arg,$sort = 'asc')
          {
              $sort = $sort=='asc'?SORT_ASC:SORT_DESC;
              $column_data = array_column($arr,$arg);
              array_multisort($column_data,$sort,$arr);
          }
      }
      
      if (!function_exists('log2txt')) {
          
          /**
           * 寫入日志
           *
           * @param [type] $values
           * @param string $dir
           * @return void
           */
          function log2txt($values, $dir = 'lyj')
          {
              // 如果數據是數組則轉換成字符
              if (is_array($values)) {
                  $values = print_r($values, true);
              }
      
              // 日志內容
              $content = '[' . date('Y-m-d H:i:s') . ']' . PHP_EOL . $values . PHP_EOL . PHP_EOL;
              try {
                  // 文件路徑
                  $filePath = $dir . '/logs/';
                  // 路徑不存在則創建
                  !is_dir($filePath) && mkdir($filePath, 0755, true);
                  // 寫入文件
                  return file_put_contents($filePath . date('Y-m-d') . '.log', $content . PHP_EOL . PHP_EOL, FILE_APPEND);
              } catch (\Exception $e) {
                  return false;
              }
          }
      
      }
      
      
      
      
      
      
      /*****************************************工具類函數*********************************************** */
       
      
      $arr = [
          'a' => [
              'name' => '對的',
              'num' => 20,
          ],
          'b' => [
              'name' => 'as',
              'num' => 32,
          ],
          'c' => [
              'name' => '對方答復',
              'num' => 1,
          ],
      ]; 
      
      print_r($arr);
      
      arr_multi_sort($arr, 'num', desc);
      
      print_r($arr);

       

      posted @ 2023-02-11 17:05  沒事就更  閱讀(48)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 色综合国产一区二区三区| 一区二区三区无码视频免费福利| 午夜通通国产精品福利| 国产主播精品福利午夜二区 | 激情综合色综合久久综合| 91久久久久无码精品露脸| 97久久超碰国产精品2021| 欧美一区二区三区性视频| 美日韩精品一区三区二区| 暖暖免费观看电视在线高清| 噜噜噜噜私人影院| 国产mv在线天堂mv免费观看| 日本高清无卡码一区二区| 井陉县| 日本一区二区a√成人片| 一区二区不卡国产精品| 免费观看日本污污ww网站69| 国产免费网站看v片元遮挡| 农村老熟女一区二区三区| 欧美激情综合色综合啪啪五月| 欧美性猛交xxxx乱大交丰满| 国产精品护士| 精品999日本久久久影院| 精品久久久久久久久午夜福利| 日产日韩亚洲欧美综合下载| 亚洲高潮喷水无码AV电影| 国产人妻精品无码av在线| 久久亚洲av成人无码软件| 粉嫩国产av一区二区三区| 天天操夜夜操| 国产欧美日韩亚洲一区二区三区| 国产成人精品无码专区| 亚洲午夜av久久久精品影院| 国产中文字幕在线精品| 国产精品色哟哟成人av| 亚洲色婷婷婷婷五月基地| 免费无码中文字幕A级毛片| 国产一区二区精品偷系列| 亚洲综合一区二区三区| 亚洲天堂网中文在线资源| 精品综合一区二区三区四区|