网站首页 文章专栏 我的常用方法
<?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; }
转载请注明出处