在專案開發中經常用到的全域性函式、正則(持續更新)

OldBoy~發表於2017-05-17
//列印函式
  function p($data , $type = 1, $die = false) {
      echo '<pre>';
      if($type == 1)
          var_dump($data);
      else
          print_r($data);
      echo '</pre>';
      if($die) die;
  }
//#####################################一些驗證函式############################
//
是否合法的日期格式(Y-m-d) function is_date($date = '') { $time = strtotime($date); return is_positive_integer($time) && date('Y-m-d', $time) == $date; } // 是否合法的日期時間格式(Y-m-d H:i:s) function is_time($datetime = '') { $time = strtotime($datetime); return is_positive_integer($time) && date('Y-m-d H:i:s', $time) == $datetime; } // 是否正整數 function is_positive_integer($num = 0) { return is_numeric($num) && $num == (int) $num && $num > 0; } // 是否非空字串 function is_not_empty_string($str = '') { return is_string($str) && $str != ''; } // 是否非空陣列 function is_not_empty_array($arr = array()) { return is_array($arr) && !empty($arr); }
//追加log日誌
function add_file_log($txt = '',$del = false) {
  if($del) unlink('log_info.txt');
    file_put_contents('log_info.txt', $txt."\r\n", FILE_APPEND);
}
//################################陣列的排序###############################
/*
* * 按照指定鍵名對二維陣列排序,若是要排序的欄位中有重複值,此方法慎用 * $array 傳過來的陣列 * $key 指定的鍵名 * $type 指定的排序型別 asc 升序,desc 降序 */ function orderArray ($array = array(), $key = 'id', $type = 'asc') { $arr = array(); $list = array(); foreach($array as $v){ $arr[$v[$key]] = $v[$key]; $list[$v[$key]] = $v; } if($type == 'asc'){ asort($arr); }else{ arsort($arr); } $newarr =array(); foreach($arr as $k => $v){ $newarr[] =$list[$k]; } return $newarr; } //要排序的key 有重複值 function RorderArray( $array = [], $key = '', $order = 'asc' ){ $sort = $order == 'asc' ? 'SORT_ASC' : 'SORT_DESC'; $arrSort = array(); foreach($array AS $uniqid => $row){ foreach($row AS $k=>$value){ $arrSort[$k][$uniqid] = $value; } } array_multisort($arrSort[$key], constant($sort), $array); return $array; }

 

 

 

 

 

 

正規表示式

  /**
     * 驗證手機號
     */
    public static function  checkPhone($phone = '')
    {
        $flag = false;
        if (empty($phone)) {
            return $flag;
        }

        $reg = "/^1[3456789]{1}[0-9]{9}$/";

        if (preg_match($reg, $phone)) {
            $flag = true;
        }
        return $flag;
    }


    /**
     * 驗證是否電信手機
     * //133|153|180|181|189|
     * @param $phone
     */
    public static function isCTCCPhone($phone)
    {
        $flag = false;
        $prefix = array(133, 153, 180, 181, 189,199);

        if (!empty($phone) && self::checkPhone($phone)) {
            $phone_pre = substr($phone, 0, 3);
            if (in_array($phone_pre, $prefix)) {
                $flag = true;
            }
        }
        return $flag;
    }

 

相關文章