欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-10-18 14:23:52
本文实例讲述了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程序设计有所帮助。