在项目开发中经常用到的全局函数、正则(持续更新)

//打印函数
  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;
    }

 

posted @ 2017-05-17 17:48  温柔的风  阅读(221)  评论(0编辑  收藏  举报