php取得字符串首字母的方法
更新時間:2015年03月25日 09:36:04 作者:songguo
這篇文章主要介紹了php取得字符串首字母的方法,支持中文字符串的操作,涉及php操作字符串的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了php取得字符串首字母的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
<?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自定義函數(shù)call_user_func和call_user_func_array詳解
看UCenter的時候有一個函數(shù)call_user_func,百思不得其解,因為我以為是自己定義的函數(shù),結果到處都找不到,后來百度了一下才知道call_user_func是內置函數(shù)2011-07-07
mysql 中InnoDB和MyISAM的區(qū)別分析小結
InnoDB和MyISAM是在使用MySQL最常用的兩個表類型,各有優(yōu)缺點,視具體應用而定?;镜牟顒e為:MyISAM類型不支持事務處理等高級處理,而InnoDB類型支持。MyISAM類型的表強調的是性能,其執(zhí)行數(shù)度比InnoDB類型更快,但是不提供事務支持,而InnoDB提供事務支持已經外部鍵等高級數(shù)據(jù)庫功能。2008-04-04

