PHP gets the first letter of Chinese pinyin
Copy CodeThe code is as follows:
function Getinitial ($STR)
{
$asc =ord (substr ($str, 0, 1));
if ($ASC <160)//Non-Chinese
{
if ($asc >=48 && $asc <=57) {
Return ' 1 '; Digital
}elseif ($asc >=65 && $asc <=90) {
return Chr ($ASC); A--z
}elseif ($asc >=97 && $asc <=122) {
Return Chr ($ASC-32); A--z
}else{
return ' ~ '; Other
}
}
else//Chinese
{
$ASC = $asc *1000+ord (substr ($STR, 1, 1));
Get Pinyin First Letter 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 ("script");
?>
Copy CodeThe code is as follows:
function Getfirstchar ($s 0) {
$firstchar _ord=ord (Strtoupper ($s 0{0}));
if ($firstchar _ord>=65 and $firstchar _ord<=91) or ($firstchar _ord>=48 and $firstchar _ord<=57)) return $s 0{ 0};
$s =iconv ("UTF-8", "gb2312", $s 0);
$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 ("haha");
http://www.bkjia.com/PHPjc/320451.html www.bkjia.com true http://www.bkjia.com/PHPjc/320451.html techarticle PHP Gets the first letter of the phonetic Alphabet copy code as follows:? PHP function Getinitial ($str) {$asc =ord (substr ($STR, 0,1)), if ($ASC 160)//non-Chinese {if ($ASC = $asc =57) {ret ...