PHP提取中文首字母

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?    
function pykey( $py_key)    
{    
    $pinyin = 65536 + pys($py_key);    
    if ( 45217 <= $pinyin && $pinyin <= 45252 )    
    {    
        $zimu = "A";    
        return $zimu;    
    }    
    if ( 45253 <= $pinyin && $pinyin <= 45760 )    
    {    
        $zimu = "B";    
        return $zimu;    
    }    
    if ( 45761 <= $pinyin && $pinyin <= 46317 )    
    {    
        $zimu = "C";    
        return $zimu;    
    }    
    if ( 46318 <= $pinyin && $pinyin <= 46825 )    
    {    
        $zimu = "D";    
        return $zimu;    
    }    
    if ( 46826 <= $pinyin && $pinyin <= 47009 )    
    {    
        $zimu = "E";    
        return $zimu;    
    }    
    if ( 47010 <= $pinyin && $pinyin <= 47296 )    
    {    
        $zimu = "F";    
        return $zimu;    
    }    
    if ( 47297 <= $pinyin && $pinyin <= 47613 )    
    {    
        $zimu = "G";    
        return $zimu;    
    }    
    if ( 47614 <= $pinyin && $pinyin <= 48118 )    
    {    
        $zimu = "H";    
        return $zimu;    
    }    
    if ( 48119 <= $pinyin && $pinyin <= 49061 )    
    {    
        $zimu = "J";    
        return $zimu;    
    }    
    if ( 49062 <= $pinyin && $pinyin <= 49323 )    
    {    
        $zimu = "K";    
        return $zimu;    
    }    
    if ( 49324 <= $pinyin && $pinyin <= 49895 )    
    {    
        $zimu = "L";    
        return $zimu;    
    }    
    if ( 49896 <= $pinyin && $pinyin <= 50370 )    
    {    
        $zimu = "M";    
        return $zimu;    
    }    
    if ( 50371 <= $pinyin && $pinyin <= 50613 )    
    {    
        $zimu = "N";    
        return $zimu;    
    }    
    if ( 50614 <= $pinyin && $pinyin <= 50621 )    
    {    
        $zimu = "O";    
        return $zimu;    
    }    
    if ( 50622 <= $pinyin && $pinyin <= 50905 )    
    {    
        $zimu = "P";    
        return $zimu;    
    }    
    if ( 50906 <= $pinyin && $pinyin <= 51386 )    
    {    
        $zimu = "Q";    
        return $zimu;    
    }    
    if ( 51387 <= $pinyin && $pinyin <= 51445 )    
    {    
        $zimu = "R";    
        return $zimu;    
    }    
    if ( 51446 <= $pinyin && $pinyin <= 52217 )    
    {    
        $zimu = "S";    
        return $zimu;    
    }    
    if ( 52218 <= $pinyin && $pinyin <= 52697 )    
    {    
        $zimu = "T";    
        return $zimu;    
    }    
    if ( 52698 <= $pinyin && $pinyin <= 52979 )    
    {    
        $zimu = "W";    
        return $zimu;    
    }    
    if ( 52980 <= $pinyin && $pinyin <= 53640 )    
    {    
        $zimu = "X";    
        return $zimu;    
    }    
    if ( 53689 <= $pinyin && $pinyin <= 54480 )    
    {    
        $zimu = "Y";    
        return $zimu;    
    }    
    if ( 54481 <= $pinyin && $pinyin <= 62289 )    
    {    
        $zimu = "Z";    
        return $zimu;    
    }    
    $zimu = $py_key;    
    return $zimu;    
}    
function pys( $pysa )    
{    
    $pyi = "";    
    $i= 0;    
    for ( ; $i < strlen( $pysa ); $i++)    
    {    
        $_obfuscate_8w= ord( substr( $pysa,$i,1) );    
        if ( 160 < $_obfuscate_8w)    
        {    
            $_obfuscate_Bw = ord( substr( $pysa, $i++, 1 ) );    
            $_obfuscate_8w = $_obfuscate_8w * 256 + $_obfuscate_Bw - 65536;    
        }    
        $pyi.= $_obfuscate_8w;    
    }    
    return $pyi;    
}    
$letter = pykey("中华人民共和国");    
echo $letter;    
?> 

相关文章

PHP简单实现多维数组合并与排序功能示例

本文实例讲述了PHP简单实现多维数组合并与排序功能。分享给大家供大家参考,具体如下: <?php $record=array( 'title' =>'这个就是...

php微信公众平台开发类实例

本文实例讲述了php微信公众平台开发类。分享给大家供大家参考。具体分析如下: ThinkWechat.php类文件如下: <?php class Wechat { /...

php中strstr、strrchr、substr、stristr四个函数的区别总结

php中strstr、strrchr、substr、stristr四个函数用法区别: php中strstr strrchr substr stristr这四个字符串操作函数特别让人容易混...

php实现多维数组排序的方法示例

本文实例讲述了php实现多维数组排序的方法。分享给大家供大家参考,具体如下: //定义一个学生数组 $students = array( 256=>array('name'...

php 时间time与日期date之间的使用详解及区别

php时间time与日期date之间的使用区别 1、time()函数 PHP中的time()函数,使用echo输出来看是一个很长的整数,里面包含了日期和时间,是计算后的一个值。如果要得...