本文实例讲述了php取得字符串首字母的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
<?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程序设计有所帮助。