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 相关文章推荐
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
php 动态添加记录
Mar 10 PHP
PHP查询MySQL大量数据的时候内存占用分析
Jul 22 PHP
PHP测试程序运行时间的类
Feb 05 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
Aug 13 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
Mar 05 PHP
WordPress中用于检索模版的相关PHP函数使用解析
Dec 15 PHP
如何正确配置Nginx + PHP
Jul 15 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
Sep 01 PHP
php连接微软MSSQL(sql server)完全攻略
Nov 27 PHP
php cli模式下获取参数的方法
May 05 PHP
PhpStorm配置Xdebug调试的方法步骤
Feb 02 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
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
初探jquery——表单应用范例
2007/02/20 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
jQuery中innerHeight()方法用法实例
2015/01/19 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
详解多页应用 Webpack4 配置优化与踩坑记录
2018/10/16 Javascript
vue 双向数据绑定的实现学习之监听器的实现方法
2018/11/30 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
移动端自适应flexible.js的使用方法(不用三大框架,仅写一个单html页面使用)推荐
2019/04/02 Javascript
js实现缓动动画
2020/11/25 Javascript
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
使用python实现strcmp函数功能示例
2014/03/25 Python
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
轻松掌握python设计模式之访问者模式
2016/11/18 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
2020/06/02 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
担保书怎么写
2014/04/01 职场文书
学生个人评语大全
2015/01/04 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书