php教程

超轻量级php框架startmvc

php取得字符串首字母的方法

更新时间:2020-03-03 22:17:17 作者:startmvc
本文实例讲述了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 );
 $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;
}
?>

希望本文所述对大家的php程序设计有所帮助。

php 取得 字符串 首字母 方法