网站首页 文章专栏 我的常用方法

我的常用方法

编辑时间:2018-09-10 18:12:28 作者:苹果 浏览量:1920


    前言:我个人常用的一些方法


<?php
/****************************************数组 start**********************************************/
/**
 * 二维数组去重
 * @param $array
 * @param $key
 * @return array
 */
function unique_multidim_array($array, $key) {
	$temp_array = array();
	$i = 0;
	$key_array = array();

	foreach ($array as $val) {
		if (!in_array($val[$key], $key_array)) {
			$key_array[$i] = $val[$key];
			$temp_array[$i] = $val;
		}
		$i++;
	}
	return $temp_array;
}

array_intersect_assoc(); //关联数组的交集
array_diff_assoc(); //关联数组的差集

/****************************************数组 end**********************************************/
/****************************************文件start**********************************************/
/**
 * 功能:循环检测并创建文件夹
 * 参数:$path 文件夹路径
 * 返回:
 */
function createDir($path) {
	if (!file_exists($path)) {
		createDir(dirname($path));
		mkdir($path, 0777);
	}
}

/**
 * 显示文件大小
 */
function ReadableFilesize($size) {
	$mod = 1024;
	$units = explode(' ', 'B KB MB GB TB PB');
	for ($i = 0; $size > $mod; $i++) {
		$size /= $mod;
	}
	return round($size, 2) . ' ' . $units[$i];
}

/**
 * php的escape函数(编码)
 * @param string $str 需要转换的字符串
 * @return string
 */
function escape($string, $in_encoding = 'UTF-8', $out_encoding = 'UCS-2') {
	$return = '';
	if (function_exists('mb_get_info')) {
		for ($x = 0; $x < mb_strlen($string, $in_encoding); $x++) {
			$str = mb_substr($string, $x, 1, $in_encoding);
			if (strlen($str) > 1) {
				// 多字节字符
				$return .= '%u' . strtoupper(bin2hex(mb_convert_encoding($str, $out_encoding, $in_encoding)));
			} else {
				$return .= '%' . strtoupper(bin2hex($str));
			}
		}
	}
	return $return;
}
/**
 * 判断email地址是否合法
 *
 * @param string  $email 邮件地址
 * @return boolean 邮件地址是否合法
 */
function isEmail($email) {
	return preg_match("/[_a-zA-Z\d\-\.]+@[_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+$/i", $email) !== 0;
}

function isMobile($mobile) {
	if (!is_numeric($mobile)) {
		return false;
	}
	return preg_match('#^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,3,6,7,8]{1}\d{8}$|^18[\d]{9}$#', $mobile) ? true : false;
}

/**
 * 获取当前页面完整URL地址
 */
function getUrl() {
	$sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';
	$php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
	$path_info = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : '';
	$relate_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $php_self . (isset($_SERVER['QUERY_STRING']) ? '?' . $_SERVER['QUERY_STRING'] : $path_info);
	return $sys_protocal . (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '') . $relate_url;
}

/**
 * 获取当前页面完整URL地址
 */
function get_url() {
	return getUrl();
}
/****************************************文件 end**********************************************/

/**
 * 输出json
 *
 * @param array 或 string  $param 需要输出的主题
 * @param string  $callback
 */
function echoJson($param, $callback) {
	header('Content-type: application/json');
	if ($param && is_array($param)) {
		if ($callback) {
			echo $callback . '(' . json_encode($param) . ')';
		} else {
			echo json_encode($param);
		}
	} else if ($param && is_string($param)) {
		if ($callback) {
			echo $callback . '(' . $param . ')';
		} else {
			echo $param;
		}
	}
}


/**
 * php的escape函数
 * @param string $str 需要转换的字符串
 * @return string
 */
function escape($string, $in_encoding = 'UTF-8', $out_encoding = 'UCS-2') {
	$return = '';
	if (function_exists('mb_get_info')) {
		for ($x = 0; $x < mb_strlen($string, $in_encoding); $x++) {
			$str = mb_substr($string, $x, 1, $in_encoding);
			if (strlen($str) > 1) {
				// 多字节字符
				$return .= '%u' . strtoupper(bin2hex(mb_convert_encoding($str, $out_encoding, $in_encoding)));
			} else {
				$return .= '%' . strtoupper(bin2hex($str));
			}
		}
	}
	return $return;
}



    出自:何冰华个人网站

    地址:https://www.hebinghua.com/

    转载请注明出处


来说两句吧
最新评论