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版(2)
Oct 09 PHP
PHP新手上路(七)
Oct 09 PHP
PHP学习资料汇总与网址
Mar 16 PHP
简单的php新闻发布系统教程
May 09 PHP
destoon实现资讯信息前面调用它所属分类的方法
Jul 15 PHP
Laravel 5框架学习之Eloquent 关系
Apr 09 PHP
提高php编程效率技巧
Aug 13 PHP
Zend Framework教程之MVC框架的Controller用法分析
Mar 07 PHP
thinkPHP中_initialize方法实例分析
Dec 05 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
laravel异步监控定时调度器实例详解
Jun 21 PHP
PHP连接MySQL数据库操作代码实例解析
Jul 11 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
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
php 解压rar文件及zip文件的方法
2014/05/05 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
利用ajaxfileupload插件实现文件上传无刷新的具体方法
2013/06/08 Javascript
Windows系统下Node.js的简单入门教程
2015/06/23 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
python字符类型的一些方法小结
2016/05/16 Python
python 转换 Javascript %u 字符串为python unicode的代码
2016/09/06 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
Django 框架模型操作入门教程
2019/11/05 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
优秀大学生推荐信范文
2013/11/28 职场文书
初中优秀班集体申报材料
2014/05/01 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
2015年仓库工作总结
2015/04/09 职场文书
关于战胜挫折的名言警句大全!
2019/07/05 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python
python运算符之与用户交互
2022/04/13 Python
i7 6700处理器相当于i5几代
2022/04/19 数码科技