Home > php教程 > php手册 > php中获取中文首字母程序代码

php中获取中文首字母程序代码

WBOY
Release: 2016-05-25 16:39:47
Original
1117 people have browsed it

我们经常会看到一些网站按城市名来分或按字母来排名,下面我就来介绍这个东西如何实现的吧,我们分享一段利用php取得中文字符串中第一个汉字的字母,代码如下:

<?php 
	$limit = array( //gb2312 拼音排序 
	    array(45217,45252), //A 
	    array(45253,45760), //B 
	    array(45761,46317), //C 
	    array(46318,46825), //D 
	    array(46826,47009), //E 
	    array(47010,47296), //F 
	    array(47297,47613), //G 
	    array(47614,48118), //H 
	    array(0,0),         //I 
	    array(48119,49061), //J 
	    array(49062,49323), //K 
	    array(49324,49895), //L 
	    array(49896,50370), //M 
	    array(50371,50613), //N 
	    array(50614,50621), //O 
	    array(50622,50905), //P 
	    array(50906,51386), //Q 
	    array(51387,51445), //R 
	    array(51446,52217), //S 
	    array(52218,52697), //T 
	    array(0,0),         //U 
	    array(0,0),         //V 
	    array(52698,52979), //W 
	    array(52980,53688), //X 
	    array(53689,54480), //Y 
	    array(54481,55289), //Z 
	); 
	 
	$str="A:这是一个测试程序1"; 
	$str= iconv("UTF-8","gb2312", $str); 
	echo $str."</br>"; 
	$i=0; 
	while($i<strlen($str) ) { 
	    $tmp=bin2hex(substr($str,$i,1)); 
	    if($tmp>=&#39;B0&#39;){ //汉字的开始 
	        $t=getLetter(hexdec(bin2hex(substr($str,$i,2)))); 
	        printf("%c",$t==-1 ? &#39;*&#39; : $t ); 
	        //开源代码phprm.com 
	        $i+=2; 
	    } 
	    else{ 
	        printf("%s",substr($str,$i,1)); 
	        $i++; 
	    } 
	} 
	 
	function getLetter($num){ 
	    global $limit; 
	    $char_index=65; 
	    foreach($limit as $k=>$v){ 
	        if($num>=$v[0] && $num<=$v[1]){ 
	            $char_index+=$k; 
	            return $char_index; 
	        } 
	    } 
	    return -1; 
	} 
	 
Copy after login

就是根据中文拼音来判断它的ascii码的编码来算出的.

本文地址:

转载随意,但请附上文章地址:-)

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 Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template