PHP提取中文首字母

yipeiwu_com5年前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;    
?> 

相关文章

Zend 输出产生XML解析错误

XML解析错误:xml处理指令不在实体的开始部分 位置:http://.../public/xml/get 行:2,列:1:<?xml version="1.0"?> ^ 仔...

php 浮点数比较方法详解

浮点数运算精度问题 首先看一个例子: <?php $a = 0.1; $b = 0.9; $c = 1; var_dump(($a+$b)==$c); var_dump...

php实现无限级分类(递归方法)

php实现无限级分类(递归方法)

相信很多学php的很多小伙伴都会尝试做一个网上商城作为提升自己技术的一种途径。各种对商品分类,商品名之类的操作应该是得心应手,那么就可以尝试下无限级分类列表的制作了。 到网上一搜php无...

php session安全问题分析

因此,我们主要解决的思路是效验session ID的有效性. 以下为引用的内容: 复制代码 代码如下: <?php if(!isset($_SESSION['user_agent'...

PHP计算个人所得税示例【不使用速算扣除数】

本文实例讲述了PHP计算个人所得税。分享给大家供大家参考,具体如下: 不使用速算扣除数计算个人所得税,PHP自定义函数实现个人所得税计算。使用速算扣除数计算个人所得税过于简单,略过不提。...