Home >Backend Development >PHP Tutorial >How to get the first letter of Chinese pinyin in php, get the pinyin of Chinese characters in php_PHP tutorial

How to get the first letter of Chinese pinyin in php, get the pinyin of Chinese characters in php_PHP tutorial

WBOY
WBOYOriginal
2016-07-12 09:07:03962browse

How to get the first letter of Chinese pinyin in php, how to get the first letter of Chinese pinyin in php

In reality, we often see such instructions, in no particular order, sorted by the first letter of the name. This is the sorting method used by most Chinese people. So how to operate it in php program?

Now I will share how to get the first letter of Chinese Pinyin in the PHP program. Most of the methods found on the Internet are problematic, but this has been applied by the editor in practice and it can really be used.

//php获取中文字符拼音首字母 
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&#63;$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; 
} 

For example:

echo getFirstCharter('帮客之家www.jb51.net');//结果将输出:J 

The above is the function of PHP to obtain the first letter of Chinese pinyin. I hope it can help everyone learn PHP programming better.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1063226.htmlTechArticleHow to get the first letter of Chinese pinyin in php, how to get the first letter of Chinese pinyin in php. In reality, we often see such instructions, ranking In no particular order, sorted alphabetically. This is what most Chinese people...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn