PHP自定义函数获取汉字首字母的方法


Posted in PHP onDecember 01, 2016

本文实例讲述了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 <= -16475)
    return 'J';
  if ($asc >= -16474 && $asc <= -16213)
    return 'K';
  if ($asc >= -16212 && $asc <= -15641)
    return 'L';
  if ($asc >= -15640 && $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取得一个类的属性和方法的实现代码
May 22 PHP
解析PHP处理换行符的问题 \r\n
Jun 13 PHP
PHP实现邮件群发的源码
Jun 18 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
mcrypt启用 加密以及解密过程详细解析
Aug 07 PHP
使用PHP生成PDF方法详解
Jan 23 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
Symfony2框架创建项目与模板设置实例详解
Mar 17 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 PHP
PHP chr()函数讲解
Feb 11 PHP
php-fpm中max_children的配置
Mar 15 PHP
laravel 解决Validator使用中出现的问题
Oct 25 PHP
phpmailer绑定邮箱的实现方法
Dec 01 #PHP
thinkPHP实现多字段模糊匹配查询的方法
Dec 01 #PHP
thinkPHP商城公告功能开发问题分析
Dec 01 #PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 #PHP
PHP 芝麻信用接入的注意事项
Dec 01 #PHP
PHP中静态变量的使用方法实例分析
Dec 01 #PHP
php版阿里云OSS图片上传类详解
Dec 01 #PHP
You might like
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
微信小程序 跳转方式总结
2017/04/20 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
用npm-run实现自动化任务的方法示例
2019/01/14 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
python通过exifread模块获得图片exif信息的方法
2015/03/16 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
python3+PyQt5实现自定义分数滑块部件
2018/04/24 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
python基于openpyxl生成excel文件
2020/12/23 Python
化学相关工作求职信
2013/10/02 职场文书
企业门卫岗位职责
2013/12/12 职场文书
小班秋游活动方案
2014/02/22 职场文书
大学生励志演讲稿
2014/04/25 职场文书
大型活动组织方案
2014/05/10 职场文书
公证委托书格式
2014/09/13 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python