php获取中文拼音首字母类和函数分享


Posted in PHP onApril 24, 2014

一、公司同事整理的类,挺实用的.相信拿出来分享下他不会介意的O(∩_∩)O.不过如果首字母是数字或英文会有些问题.

/**
 * Helper_Spell 汉字拼音首字母工具类
 *
 * @category Helper
 * @package  Helper_Spell
 * @author   Lancer <lancer.he@gmail.com>
 * @version  1.0
 * @see      Translation_Big2gb
 */
class Helper_Spell {
/**
 * $_pinyins
 * @var array
 * @access private
 */
private $_pinyins = array(
    176161 => 'A',
    176197 => 'B',
    178193 => 'C',
    180238 => 'D',
    182234 => 'E',
    183162 => 'F',
    184193 => 'G',
    185254 => 'H',
    187247 => 'J',
    191166 => 'K',
    192172 => 'L',
    194232 => 'M',
    196195 => 'N',
    197182 => 'O',
    197190 => 'P',
    198218 => 'Q',
    200187 => 'R',
    200246 => 'S',
    203250 => 'T',
    205218 => 'W',
    206244 => 'X',
    209185 => 'Y',
    212209 => 'Z',
    215249 => 'Z',
);

/**
 * $_charset
 * @var string
 * @access private
 */
private $_charset = null;
/**
 * __construct 构造函数, 指定需要的编码 default: utf-8 支持utf-8, gb2312
 *
 * @param unknown_type $charset
 */
public function __construct( $charset = 'utf-8' ) {
    $this->_charset = $charset;
}
/**
 * getInitialsFirst 返回首个汉字的拼音
 *
 * @access public
 * @static
 * @param  string $str
 * @return string
 * @example Helper_Spell::getInitialsFirst('我的爱'); => w
 */
public static function getInitialsFirst( $str, $charset = 'utf-8' ) {
    $chars = array(
        'A','B','C','D','E','F',
        'G','H','I','J','K','L',
        'M','N','O','P','Q','R',
        'S','T','U','V','W','X',
        'Y','Z');

    $string = self::getInitials( $str );
    $length = strlen($string);

    for($i=0; $i < $length; $i++) {
        if ( in_array( $string{$i}, $chars ) ) {
            return $string{$i};
        }
    }
    return '*';
}

/**
 * getInitials 返回拼音组合
 *
 * @access public
 * @static
 * @param  string $str
 * @return string
 * @example Helper_Spell::getInitials('我的爱'); => wda
 */
public static function getInitials( $str, $charset = 'utf-8' ) {
    $instance = new Helper_Spell( $charset );
    return $instance->_getInitials( $str );
}

/**
 * _getInitials 获取中文字串的拼音首字符
 *              注:英文的字串:不变返回(包括数字)    eg .abc123 => abc123
 *                  中文字符串:返回拼音首字符        eg. 王小明 => WXM
 *                  中英混合串: 返回拼音首字符和英文  eg. 我i我j => WIWJ
 *
 * @access private
 * @param  string $str
 * @return string
 */
private function _getInitials( $str, $translation=TRUE ){
    if ( empty($str) ) return '';
    if ( $this->_isAscii($str[0]) && $this->_isAsciis( $str ))
        return $str;
    if ( $translation )
        $str = Translation_Big2gb::big2gb( $str );
    $result = array();
    if ( $this->_charset == 'utf-8' ){
        //IGNORE很重要,加上这个就可以是ICONV()函数忽略错误,继续执行
        $str = iconv( 'utf-8', 'gbk//IGNORE', $str );
    }
    $words = $this->_cutWord( $str );

    foreach ( $words AS $word ) {           
        if ( $this->_isAscii($word) ) {//非中文
            $result[] = $word;
            continue;
        }
        $code = ( ord(substr($word,0,1)) ) * 1000 + (ord(substr($word,1,1)));
        //获取拼音首字母A--Z

        if ( ($i = $this->_search($code)) != -1 ){
            $result[] = $this->_pinyins[$i];
        }
    }
    return strtoupper(implode('', $result));
}

/**
 * _msubstr 获取中文字符串
 *
 * @access private
 * @param string $str
 * @param int    $start
 * @param int    $len
 * @return string
 */
private function _msubstr ($str, $start, $len) {
    $start  = $start * 2;
    $len    = $len * 2;
    $strlen = strlen($str);
    $result = '';
    for ( $i = 0; $i < $strlen; $i++ ) {
        if ( $i >= $start && $i < ($start + $len) ) {
            if ( ord(substr($str, $i, 1)) > 129 ) $result .= substr($str, $i, 2);
            else $result .= substr($str, $i, 1);
        }
        if ( ord(substr($str, $i, 1)) > 129 ) $i++;
    }
    return $result;
}

/**
 * _cutWord  字符串切分为数组 (汉字或者一个字符为单位)
 *
 * @access private
 * @param string $str
 * @return array
 */
private function _cutWord( $str ) {
    $words = array();
    while ( $str != "" ) {
        if ( $this->_isAscii($str) ) {//非中文
            $words[] = $str[0];
            $str = substr( $str, strlen($str[0]) );
        } else {
            $word = $this->_msubstr( $str, 0, 1 );
            $words[] = $word;
            $str = substr( $str,  strlen($word) );
        }
     }
     return $words;
}

/**
 * _isAscii 判断字符是否是ascii字符
 *
 * @access private
 * @param  string $char
 * @return bool
 */
private function _isAscii( $char ) {
    return ( ord( substr($char,0,1) ) < 160 );
}
 
/**
 * _isAsciis 判断字符串前3个字符是否是ascii字符
 *
 * @access private
 * @param  string $str
 * @return bool
 */
private function _isAsciis( $str ) {
    $len = strlen($str) >= 3 ? 3: 2;
    $chars = array();
    for( $i = 1; $i < $len -1; $i++ ){
        $chars[] = $this->_isAscii( $str[$i] ) ? 'yes':'no';
    }
    $result = array_count_values( $chars );
    if ( empty($result['no']) ){
        return true;
    }
    return false;
}

/**
 * _getChar 通过ASC码返回字母或者数字
 *
 * @access private
 * @param  string $ascii
 * @return string
 */
private function _getChar( $ascii ){
    if ( $ascii >= 48 && $ascii <= 57 ) {
        return chr($ascii);  //数字
    } elseif ( $ascii>=65 && $ascii<=90 ) {
        return chr($ascii);   // A--Z
    } elseif ($ascii>=97 && $ascii<=122 ) {
        return chr($ascii-32); // a--z
    } else {
        return '~'; //其他
    }
}

/**
 * _search 查找需要的汉字内码(gb2312) 对应的拼音字符(二分法)
 *
 * @access private
 * @param int $code
 * @return int
 */
private function _search( $code ) {    
    $data = array_keys($this->_pinyins);

    $lower = 0;
    $upper = sizeof($data)-1;

    // 排除非一级汉字
    if ($code < $data[0] || $code > $data[23]) return -1;

    for (;;) {         
        if ( $lower > $upper ){             
            return $data[$lower-1];
        }
        $middle = (int) round(($lower + $upper) / 2);
        if ( !isset($data[$middle]) ) {          
            return -1;
        }

        if ( $data[$middle] < $code ){
            $lower = (int)$middle + 1;
        } else if ( $data[$middle] == $code ) {           
            return $data[$middle];
        } else {
            $upper = (int)$middle - 1;
        }
    }// end for
}
}

二、用来得到中文的首字母

这个是将中文转换为拼音的类:charset

<?php
/**
 * 汉字转化为拼音,拼音转化为汉字
 * 
 */
class charset
{
    private $_code=array(
    array("a",'-20319'),
    array("ai",'-20317'),
    array("an",'-20304'),
    array("ang",'-20295'),
    array("ao",'-20292'),
    array("ba",'-20283'),
    array("bai",'-20265'),
    array("ban",'-20257'),
    array("bang",'-20242'),
    array("bao",'-20230'),
    array("bei",'-20051'),
    array("ben",'-20036'),
    array("beng",'-20032'),
    array("bi",'-20026'),
    array("bian",'-20002'),
    array("biao",'-19990'),
    array("bie",'-19986'),
    array("bin",'-19982'),
    array("bing",'-19976'),
    array("bo",'-19805'),
    array("bu",'-19784'),
    array("ca",'-19775'),
    array("cai",'-19774'),
    array("can",'-19763'),
    array("cang",'-19756'),
    array("cao",'-19751'),
    array("ce",'-19746'),
    array("ceng",'-19741'),
    array("cha",'-19739'),
    array("chai",'-19728'),
    array("chan",'-19725'),
    array("chang",'-19715'),
    array("chao",'-19540'),
    array("che",'-19531'),
    array("chen",'-19525'),
    array("cheng",'-19515'),
    array("chi",'-19500'),
    array("chong",'-19484'),
    array("chou",'-19479'),
    array("chu",'-19467'),
    array("chuai",'-19289'),
    array("chuan",'-19288'),
    array("chuang",'-19281'),
    array("chui",'-19275'),
    array("chun",'-19270'),
    array("chuo",'-19263'),
    array("ci",'-19261'),
    array("cong",'-19249'),
    array("cou",'-19243'),
    array("cu",'-19242'),
    array("cuan",'-19238'),
    array("cui",'-19235'),
    array("cun",'-19227'),
    array("cuo",'-19224'),
    array("da",'-19218'),
    array("dai",'-19212'),
    array("dan",'-19038'),
    array("dang",'-19023'),
    array("dao",'-19018'),
    array("de",'-19006'),
    array("deng",'-19003'),
    array("di",'-18996'),
    array("dian",'-18977'),
    array("diao",'-18961'),
    array("die",'-18952'),
    array("ding",'-18783'),
    array("diu",'-18774'),
    array("dong",'-18773'),
    array("dou",'-18763'),
    array("du",'-18756'),
    array("duan",'-18741'),
    array("dui",'-18735'),
    array("dun",'-18731'),
    array("duo",'-18722'),
    array("e",'-18710'),
    array("en",'-18697'),
    array("er",'-18696'),
    array("fa",'-18526'),
    array("fan",'-18518'),
    array("fang",'-18501'),
    array("fei",'-18490'),
    array("fen",'-18478'),
    array("feng",'-18463'),
    array("fo",'-18448'),
    array("fou",'-18447'),
    array("fu",'-18446'),
    array("ga",'-18239'),
    array("gai",'-18237'),
    array("gan",'-18231'),
    array("gang",'-18220'),
    array("gao",'-18211'),
    array("ge",'-18201'),
    array("gei",'-18184'),
    array("gen",'-18183'),
    array("geng",'-18181'),
    array("gong",'-18012'),
    array("gou",'-17997'),
    array("gu",'-17988'),
    array("gua",'-17970'),
    array("guai",'-17964'),
    array("guan",'-17961'),
    array("guang",'-17950'),
    array("gui",'-17947'),
    array("gun",'-17931'),
    array("guo",'-17928'),
    array("ha",'-17922'),
    array("hai",'-17759'),
    array("han",'-17752'),
    array("hang",'-17733'),
    array("hao",'-17730'),
    array("he",'-17721'),
    array("hei",'-17703'),
    array("hen",'-17701'),
    array("heng",'-17697'),
    array("hong",'-17692'),
    array("hou",'-17683'),
    array("hu",'-17676'),
    array("hua",'-17496'),
    array("huai",'-17487'),
    array("huan",'-17482'),
    array("huang",'-17468'),
    array("hui",'-17454'),
    array("hun",'-17433'),
    array("huo",'-17427'),
    array("ji",'-17417'),
    array("jia",'-17202'),
    array("jian",'-17185'),
    array("jiang",'-16983'),
    array("jiao",'-16970'),
    array("jie",'-16942'),
    array("jin",'-16915'),
    array("jing",'-16733'),
    array("jiong",'-16708'),
    array("jiu",'-16706'),
    array("ju",'-16689'),
    array("juan",'-16664'),
    array("jue",'-16657'),
    array("jun",'-16647'),
    array("ka",'-16474'),
    array("kai",'-16470'),
    array("kan",'-16465'),
    array("kang",'-16459'),
    array("kao",'-16452'),
    array("ke",'-16448'),
    array("ken",'-16433'),
    array("keng",'-16429'),
    array("kong",'-16427'),
    array("kou",'-16423'),
    array("ku",'-16419'),
    array("kua",'-16412'),
    array("kuai",'-16407'),
    array("kuan",'-16403'),
    array("kuang",'-16401'),
    array("kui",'-16393'),
    array("kun",'-16220'),
    array("kuo",'-16216'),
    array("la",'-16212'),
    array("lai",'-16205'),
    array("lan",'-16202'),
    array("lang",'-16187'),
    array("lao",'-16180'),
    array("le",'-16171'),
    array("lei",'-16169'),
    array("leng",'-16158'),
    array("li",'-16155'),
    array("lia",'-15959'),
    array("lian",'-15958'),
    array("liang",'-15944'),
    array("liao",'-15933'),
    array("lie",'-15920'),
    array("lin",'-15915'),
    array("ling",'-15903'),
    array("liu",'-15889'),
    array("long",'-15878'),
    array("lou",'-15707'),
    array("lu",'-15701'),
    array("lv",'-15681'),
    array("luan",'-15667'),
    array("lue",'-15661'),
    array("lun",'-15659'),
    array("luo",'-15652'),
    array("ma",'-15640'),
    array("mai",'-15631'),
    array("man",'-15625'),
    array("mang",'-15454'),
    array("mao",'-15448'),
    array("me",'-15436'),
    array("mei",'-15435'),
    array("men",'-15419'),
    array("meng",'-15416'),
    array("mi",'-15408'),
    array("mian",'-15394'),
    array("miao",'-15385'),
    array("mie",'-15377'),
    array("min",'-15375'),
    array("ming",'-15369'),
    array("miu",'-15363'),
    array("mo",'-15362'),
    array("mou",'-15183'),
    array("mu",'-15180'),
    array("na",'-15165'),
    array("nai",'-15158'),
    array("nan",'-15153'),
    array("nang",'-15150'),
    array("nao",'-15149'),
    array("ne",'-15144'),
    array("nei",'-15143'),
    array("nen",'-15141'),
    array("neng",'-15140'),
    array("ni",'-15139'),
    array("nian",'-15128'),
    array("niang",'-15121'),
    array("niao",'-15119'),
    array("nie",'-15117'),
    array("nin",'-15110'),
    array("ning",'-15109'),
    array("niu",'-14941'),
    array("nong",'-14937'),
    array("nu",'-14933'),
    array("nv",'-14930'),
    array("nuan",'-14929'),
    array("nue",'-14928'),
    array("nuo",'-14926'),
    array("o",'-14922'),
    array("ou",'-14921'),
    array("pa",'-14914'),
    array("pai",'-14908'),
    array("pan",'-14902'),
    array("pang",'-14894'),
    array("pao",'-14889'),
    array("pei",'-14882'),
    array("pen",'-14873'),
    array("peng",'-14871'),
    array("pi",'-14857'),
    array("pian",'-14678'),
    array("piao",'-14674'),
    array("pie",'-14670'),
    array("pin",'-14668'),
    array("ping",'-14663'),
    array("po",'-14654'),
    array("pu",'-14645'),
    array("qi",'-14630'),
    array("qia",'-14594'),
    array("qian",'-14429'),
    array("qiang",'-14407'),
    array("qiao",'-14399'),
    array("qie",'-14384'),
    array("qin",'-14379'),
    array("qing",'-14368'),
    array("qiong",'-14355'),
    array("qiu",'-14353'),
    array("qu",'-14345'),
    array("quan",'-14170'),
    array("que",'-14159'),
    array("qun",'-14151'),
    array("ran",'-14149'),
    array("rang",'-14145'),
    array("rao",'-14140'),
    array("re",'-14137'),
    array("ren",'-14135'),
    array("reng",'-14125'),
    array("ri",'-14123'),
    array("rong",'-14122'),
    array("rou",'-14112'),
    array("ru",'-14109'),
    array("ruan",'-14099'),
    array("rui",'-14097'),
    array("run",'-14094'),
    array("ruo",'-14092'),
    array("sa",'-14090'),
    array("sai",'-14087'),
    array("san",'-14083'),
    array("sang",'-13917'),
    array("sao",'-13914'),
    array("se",'-13910'),
    array("sen",'-13907'),
    array("seng",'-13906'),
    array("sha",'-13905'),
    array("shai",'-13896'),
    array("shan",'-13894'),
    array("shang",'-13878'),
    array("shao",'-13870'),
    array("she",'-13859'),
    array("shen",'-13847'),
    array("sheng",'-13831'),
    array("shi",'-13658'),
    array("shou",'-13611'),
    array("shu",'-13601'),
    array("shua",'-13406'),
    array("shuai",'-13404'),
    array("shuan",'-13400'),
    array("shuang",'-13398'),
    array("shui",'-13395'),
    array("shun",'-13391'),
    array("shuo",'-13387'),
    array("si",'-13383'),
    array("song",'-13367'),
    array("sou",'-13359'),
    array("su",'-13356'),
    array("suan",'-13343'),
    array("sui",'-13340'),
    array("sun",'-13329'),
    array("suo",'-13326'),
    array("ta",'-13318'),
    array("tai",'-13147'),
    array("tan",'-13138'),
    array("tang",'-13120'),
    array("tao",'-13107'),
    array("te",'-13096'),
    array("teng",'-13095'),
    array("ti",'-13091'),
    array("tian",'-13076'),
    array("tiao",'-13068'),
    array("tie",'-13063'),
    array("ting",'-13060'),
    array("tong",'-12888'),
    array("tou",'-12875'),
    array("tu",'-12871'),
    array("tuan",'-12860'),
    array("tui",'-12858'),
    array("tun",'-12852'),
    array("tuo",'-12849'),
    array("wa",'-12838'),
    array("wai",'-12831'),
    array("wan",'-12829'),
    array("wang",'-12812'),
    array("wei",'-12802'),
    array("wen",'-12607'),
    array("weng",'-12597'),
    array("wo",'-12594'),
    array("wu",'-12585'),
    array("xi",'-12556'),
    array("xia",'-12359'),
    array("xian",'-12346'),
    array("xiang",'-12320'),
    array("xiao",'-12300'),
    array("xie",'-12120'),
    array("xin",'-12099'),
    array("xing",'-12089'),
    array("xiong",'-12074'),
    array("xiu",'-12067'),
    array("xu",'-12058'),
    array("xuan",'-12039'),
    array("xue",'-11867'),
    array("xun",'-11861'),
    array("ya",'-11847'),
    array("yan",'-11831'),
    array("yang",'-11798'),
    array("yao",'-11781'),
    array("ye",'-11604'),
    array("yi",'-11589'),
    array("yin",'-11536'),
    array("ying",'-11358'),
    array("yo",'-11340'),
    array("yong",'-11339'),
    array("you",'-11324'),
    array("yu",'-11303'),
    array("yuan",'-11097'),
    array("yue",'-11077'),
    array("yun",'-11067'),
    array("za",'-11055'),
    array("zai",'-11052'),
    array("zan",'-11045'),
    array("zang",'-11041'),
    array("zao",'-11038'),
    array("ze",'-11024'),
    array("zei",'-11020'),
    array("zen",'-11019'),
    array("zeng",'-11018'),
    array("zha",'-11014'),
    array("zhai",'-10838'),
    array("zhan",'-10832'),
    array("zhang",'-10815'),
    array("zhao",'-10800'),
    array("zhe",'-10790'),
    array("zhen",'-10780'),
    array("zheng",'-10764'),
    array("zhi",'-10587'),
    array("zhong",'-10544'),
    array("zhou",'-10533'),
    array("zhu",'-10519'),
    array("zhua",'-10331'),
    array("zhuai",'-10329'),
    array("zhuan",'-10328'),
    array("zhuang",'-10322'),
    array("zhui",'-10315'),
    array("zhun",'-10309'),
    array("zhuo",'-10307'),
    array("zi",'-10296'),
    array("zong",'-10281'),
    array("zou",'-10274'),
    array("zu",'-10270'),
    array("zuan",'-10262'),
    array("zui",'-10260'),
    array("zun",'-10256'),
    array("zuo",'-10254')
    );
    //拼音转化函数
    function PinYin($str){
        $ret="";
        for($i=0;$i<strlen($str);$i++){
            $p=ord(substr($str,$i,1)); //查看ASCII码
            if($p>160){ //如果是中文,再多截取一个字符
                $q=ord(substr($str,++$i,1));
                $p=$p*256+$q-65536;
            }
            $ret.=$this->convert($p);
        }
        return $ret;
    }
    //转化函数
    function convert($num){
        if($num>0&&$num<160){ //如果不是汉字,直接返回相对字符
            return chr($num);
        }elseif($num<"-20319"||$num>"-10247"){
            return "";
        }else{ //汉字,查找对应拼音
            for($i=count($this->_code)-1;$i>=0;$i--){
                if($this->_code[$i][1]<=$num)
                break;
            }
            return substr($this->_code[$i][0],0,1);
        }
    }
}

 

 

下面这个是用来测试代码的:

<?php
include_once 'charset.class.php';
header('Content-type: text/html;charset=utf-8');
$charset=new charset();
foreach(array('武汉','中国','上海') as $val){
 echo iconv('gbk','utf-8//IGNORE',strtoupper($charset->PinYin(mb_convert_encoding($val,'gbk','utf-8'))));
 echo '<br/>';
}

三、这是网上找到个一个方法,经过测试可以正常使用,但对一些生僻字或者特殊字符会有问题.

function getFirstCharter($str){
 if(empty($str)){return '';}
 $fchar=ord($str{0});
 if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0});
 $s1=iconv('UTF-8','gb2312',$str);
 $s2=iconv('gb2312','UTF-8',$s1);
 $s=$s2==$str?$s1:$str;
 $asc=ord($s{0})*256+ord($s{1})-65536;
 if($asc>=-20319&&$asc<=-20284) return 'A';
 if($asc>=-20283&&$asc<=-19776) return 'B';
 if($asc>=-19775&&$asc<=-19219) return 'C';
 if($asc>=-19218&&$asc<=-18711) return 'D';
 if($asc>=-18710&&$asc<=-18527) return 'E';
 if($asc>=-18526&&$asc<=-18240) return 'F';
 if($asc>=-18239&&$asc<=-17923) return 'G';
 if($asc>=-17922&&$asc<=-17418) return 'H';
 if($asc>=-17417&&$asc<=-16475) return 'J';
 if($asc>=-16474&&$asc<=-16213) return 'K';
 if($asc>=-16212&&$asc<=-15641) return 'L';
 if($asc>=-15640&&$asc<=-15166) return 'M';
 if($asc>=-15165&&$asc<=-14923) return 'N';
 if($asc>=-14922&&$asc<=-14915) return 'O';
 if($asc>=-14914&&$asc<=-14631) return 'P';
 if($asc>=-14630&&$asc<=-14150) return 'Q';
 if($asc>=-14149&&$asc<=-14091) return 'R';
 if($asc>=-14090&&$asc<=-13319) return 'S';
 if($asc>=-13318&&$asc<=-12839) return 'T';
 if($asc>=-12838&&$asc<=-12557) return 'W';
 if($asc>=-12556&&$asc<=-11848) return 'X';
 if($asc>=-11847&&$asc<=-11056) return 'Y';
 if($asc>=-11055&&$asc<=-10247) return 'Z';
 return null;
}
PHP 相关文章推荐
PHP 裁剪图片成固定大小代码方法
Sep 09 PHP
处理php自动反斜杠的函数代码
Jan 05 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
Jun 10 PHP
php实现将Session写入数据库
Jul 26 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
Mar 25 PHP
PHP中类的继承和用法实例分析
May 24 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
Yii 2中的load()和save()示例详解
Aug 03 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
Apr 27 PHP
stripos函数知识点实例分享
Feb 11 PHP
WordPress多语言翻译插件 - WPML使用教程
Apr 01 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 #PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
Apr 24 #PHP
php计算当前程序执行时间示例
Apr 24 #PHP
php实现的百度搜索某地天气的小偷代码
Apr 23 #PHP
php url路由入门实例
Apr 23 #PHP
通过curl模拟post和get方式提交的表单类
Apr 23 #PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
Apr 23 #PHP
You might like
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
PHP读取Excel类文件
2017/05/15 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
js setTimeout 常见问题小结
2013/08/13 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
微信小程序实现皮肤功能(夜间模式)
2017/06/18 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
django 外键创建注意事项说明
2020/05/20 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
python实现无边框进度条的实例代码
2020/12/30 Python
党员干部廉洁承诺书
2014/05/28 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
爱心募捐感谢信
2015/01/22 职场文书
2015年骨干教师工作总结
2015/05/26 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript