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执行速度全攻略(下)
Oct 09 PHP
PHP新手上路(六)
Oct 09 PHP
PHP编程中字符串处理的5个技巧小结
Nov 13 PHP
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
Apr 20 PHP
php操作csv文件代码实例汇总
Sep 22 PHP
五款PHP代码重构工具推荐
Oct 14 PHP
最准确的php截取字符串长度函数
Oct 29 PHP
PHP正则表达式过滤html标签属性(DEMO)
May 04 PHP
php微信高级接口群发 多客服
Jun 23 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
Nov 15 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发送短信代码分享
2015/08/11 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
详解YII关联查询
2016/01/10 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
iframe 自适应高度[在IE6 IE7 FF下测试通过]
2009/04/13 Javascript
javascript写的日历类(基于pj)
2010/12/28 Javascript
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
自己编写的支持Ajax验证的JS表单验证插件
2015/05/15 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
jquery对象访问是什么及使用方法介绍
2016/05/03 Javascript
浅谈js中的in-for循环
2016/06/28 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
Django 解决model 反向引用中的related_name问题
2020/05/19 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
如何填写个人简历自我评价
2013/12/10 职场文书
三查三看党性分析材料
2014/02/18 职场文书
小学教师师德承诺书
2014/05/23 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
幼儿园春季开学通知
2015/07/16 职场文书