Heim >Backend-Entwicklung >PHP-Tutorial >php获取汉字拼音首字母的方法

php获取汉字拼音首字母的方法

WBOY
WBOYOriginal
2016-06-20 13:02:171033Durchsuche

现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序。这是中国人大多数使用的排序方法。

那么在php程序中该如何操作呢?

下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的大多数是有问题的,这个可是经过作者实践应用过的,真的可以使用的哦。

<p>//php获取中文字符拼音首字母</p>function getFirstCharter($str){<br />	if(empty($str)){return '';}<br />	$fchar=ord($str{0});<br />	if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0});<br />	$s1=iconv('UTF-8','gb2312',$str);<br />	$s2=iconv('gb2312','UTF-8',$s1);<br />	$s=$s2==$str?$s1:$str;<br />	$asc=ord($s{0})*256+ord($s{1})-65536;<br />	if($asc>=-20319&&$asc<=-20284) return 'A';<br />	if($asc>=-20283&&$asc<=-19776) return 'B';<br />	if($asc>=-19775&&$asc<=-19219) return 'C';<br />	if($asc>=-19218&&$asc<=-18711) return 'D';<br />	if($asc>=-18710&&$asc<=-18527) return 'E';<br />	if($asc>=-18526&&$asc<=-18240) return 'F';<br />	if($asc>=-18239&&$asc<=-17923) return 'G';<br />	if($asc>=-17922&&$asc<=-17418) return 'H';<br />	if($asc>=-17417&&$asc<=-16475) return 'J';<br />	if($asc>=-16474&&$asc<=-16213) return 'K';<br />	if($asc>=-16212&&$asc<=-15641) return 'L';<br />	if($asc>=-15640&&$asc<=-15166) return 'M';<br />	if($asc>=-15165&&$asc<=-14923) return 'N';<br />	if($asc>=-14922&&$asc<=-14915) return 'O';<br />	if($asc>=-14914&&$asc<=-14631) return 'P';<br />	if($asc>=-14630&&$asc<=-14150) return 'Q';<br />	if($asc>=-14149&&$asc<=-14091) return 'R';<br />	if($asc>=-14090&&$asc<=-13319) return 'S';<br />	if($asc>=-13318&&$asc<=-12839) return 'T';<br />	if($asc>=-12838&&$asc<=-12557) return 'W';<br />	if($asc>=-12556&&$asc<=-11848) return 'X';<br />	if($asc>=-11847&&$asc<=-11056) return 'Y';<br />	if($asc>=-11055&&$asc<=-10247) return 'Z';<br />	return null;<br /><p>}</p>

举例如下:

echo getFirstCharter('程序员www.scutephp.com');//结果将输出:C


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn