php拼音首拼,php 获得汉字拼音首字母的函数

php获取汉字拼音的第一个字母

function getinitial($str)

{

$asc=ord(substr($str,0,1));

if ($asc<160) //非中文

{

if ($asc>=48 && $asc<=57){

return '1'; //数字

}elseif ($asc>=65 && $asc<=90){

return chr($asc); // A--Z

}elseif ($asc>=97 && $asc<=122){

return chr($asc-32); // a--z

}else{

return '~'; //其他

}

}

else //中文

{

$asc=$asc*1000+ord(substr($str,1,1));

//获取拼音首字母A--Z

if ($asc>=176161 && $asc<176197){

return 'A';

}elseif ($asc>=176197 && $asc<178193){

return 'B';

}elseif ($asc>=178193 && $asc<180238){

return 'C';

}elseif ($asc>=180238 && $asc<182234){

return 'D';

}elseif ($asc>=182234 && $asc<183162){

return 'E';

}elseif ($asc>=183162 && $asc<184193){

return 'F';

}elseif ($asc>=184193 && $asc<185254){

return 'G';

}elseif ($asc>=185254 && $asc<187247){

return 'H';

}elseif ($asc>=187247 && $asc<191166){

return 'J';

}elseif ($asc>=191166 && $asc<192172){

return 'K';

}elseif ($asc>=192172 && $asc<194232){

return 'L';

}elseif ($asc>=194232 && $asc<196195){

return 'M';

}elseif ($asc>=196195 && $asc<197182){

return 'N';

}elseif ($asc>=197182 && $asc<197190){

return 'O';

}elseif ($asc>=197190 && $asc<198218){

return 'P';

}elseif ($asc>=198218 && $asc<200187){

return 'Q';

}elseif ($asc>=200187 && $asc<200246){

return 'R';

}elseif ($asc>=200246 && $asc<203250){

return 'S';

}elseif ($asc>=203250 && $asc<205218){

return 'T';

}elseif ($asc>=205218 && $asc<206244){

return 'W';

}elseif ($asc>=206244 && $asc<209185){

return 'X';

}elseif ($asc>=209185 && $asc<212209){

return 'Y';

}elseif ($asc>=212209){

return 'Z';

}else{

return '~';

}

}

}

echo getinitial("脚本");

?>

function getfirstchar($s0){

$firstchar_ord=ord(strtoupper($s0{0}));

if (($firstchar_ord>=65 and $firstchar_ord<=91)or($firstchar_ord>=48 and $firstchar_ord<=57)) return $s0{0};

$s=iconv("UTF-8","gb2312", $s0);

$asc=ord($s{0})*256+ord($s{1})-65536;

if($asc>=-20319 and $asc<=-20284)return "A";

if($asc>=-20283 and $asc<=-19776)return "B";

if($asc>=-19775 and $asc<=-19219)return "C";

if($asc>=-19218 and $asc<=-18711)return "D";

if($asc>=-18710 and $asc<=-18527)return "E";

if($asc>=-18526 and $asc<=-18240)return "F";

if($asc>=-18239 and $asc<=-17923)return "G";

if($asc>=-17922 and $asc<=-17418)return "H";

if($asc>=-17417 and $asc<=-16475)return "J";

if($asc>=-16474 and $asc<=-16213)return "K";

if($asc>=-16212 and $asc<=-15641)return "L";

if($asc>=-15640 and $asc<=-15166)return "M";

if($asc>=-15165 and $asc<=-14923)return "N";

if($asc>=-14922 and $asc<=-14915)return "O";

if($asc>=-14914 and $asc<=-14631)return "P";

if($asc>=-14630 and $asc<=-14150)return "Q";

if($asc>=-14149 and $asc<=-14091)return "R";

if($asc>=-14090 and $asc<=-13319)return "S";

if($asc>=-13318 and $asc<=-12839)return "T";

if($asc>=-12838 and $asc<=-12557)return "W";

if($asc>=-12556 and $asc<=-11848)return "X";

if($asc>=-11847 and $asc<=-11056)return "Y";

if($asc>=-11055 and $asc<=-10247)return "Z";

return null;

}

echo getfirstchar("哈哈");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值