发布网友 发布时间:2022-04-21 23:54
共1个回答
热心网友 时间:2023-06-22 06:44
本文实例讲述了PHP自定义函数获取汉字首字母的方法。分享给大家供大家参考,具体如下:
首字母很重要,可以进行排序使用。
城市列表等等。
<?php
/*
*
Created
on
2016-12-1
*/
function
getFirstCharter($str)
{
if
(empty($str))
{
return
'';
}
$fchar
=
ord($str{0});
if
($fchar
>=
ord('A')
&&
$fchar
<=
ord('z'))
return
strtoupper($str{0});
$s1
=
iconv('UTF-8',
'gb2312',
$str);
$s2
=
iconv('gb2312',
'UTF-8',
$s1);
$s
=
$s2
==
$str
?
$s1
:
$str;
$asc
=
ord($s{0})
*
256
+
ord($s{1})
-
65536;
if
($asc
>=
-20319
&&
$asc
<=
-20284)
return
'A';
if
($asc
>=
-20283
&&
$asc
<=
-19776)
return
'B';
if
($asc
>=
-19775
&&
$asc
<=
-19219)
return
'C';
if
($asc
>=
-19218
&&
$asc
<=
-18711)
return
'D';
if
($asc
>=
-18710
&&
$asc
<=
-18527)
return
'E';
if
($asc
>=
-18526
&&
$asc
<=
-18240)
return
'F';
if
($asc
>=
-18239
&&
$asc
<=
-17923)
return
'G';
if
($asc
>=
-17922
&&
$asc
<=
-17418)
return
'H';
if
($asc
>=
-17417
&&
$asc
<=
-175)
return
'J';
if
($asc
>=
-174
&&
$asc
<=
-16213)
return
'K';
if
($asc
>=
-16212
&&
$asc
<=
-151)
return
'L';
if
($asc
>=
-150
&&
$asc
<=
-15166)
return
'M';
if
($asc
>=
-15165
&&
$asc
<=
-14923)
return
'N';
if
($asc
>=
-14922
&&
$asc
<=
-14915)
return
'O';
if
($asc
>=
-14914
&&
$asc
<=
-14631)
return
'P';
if
($asc
>=
-14630
&&
$asc
<=
-14150)
return
'Q';
if
($asc
>=
-14149
&&
$asc
<=
-14091)
return
'R';
if
($asc
>=
-14090
&&
$asc
<=
-13319)
return
'S';
if
($asc
>=
-13318
&&
$asc
<=
-12839)
return
'T';
if
($asc
>=
-12838
&&
$asc
<=
-12557)
return
'W';
if
($asc
>=
-12556
&&
$asc
<=
-11848)
return
'X';
if
($asc
>=
-11847
&&
$asc
<=
-11056)
return
'Y';
if
($asc
>=
-11055
&&
$asc
<=
-10247)
return
'Z';
return
null;
}
$firstChar
=
getFirstCharter('脚本之家');
print_r($firstChar);//输出:J
?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。