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
Release: 2016-07-12 09:07:03
Original
968 people have browsed it

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; 
} 
Copy after login

For example:

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

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...
Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template