好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php中获取中文首字母程序代码 - php高级应用

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

我们经常会看到一些网站按城市名来分或按字母来排名,下面我就来介绍这个东西如何实现的吧,我们分享一段利用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 >= 'B0' ){  //汉字的开始            $t =getLetter(hexdec(bin2hex( substr ( $str , $i ,2))));          printf( "%c" , $t ==-1 ?  '*'  :  $t  );           //开源代码phpfensi测试数据            $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;  }  ?> 

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

查看更多关于php中获取中文首字母程序代码 - php高级应用的详细内容...

  阅读:47次