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
escape unescape的php下的实现方法
Apr 27 PHP
PHP无敌近乎加密方式!
Jul 17 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
Jun 23 PHP
ThinkPHP3.1新特性之字段合法性检测详解
Jun 19 PHP
ThinkPHP之R方法实例详解
Jun 20 PHP
基于递归实现的php树形菜单代码
Nov 19 PHP
php微信开发之自定义菜单实现
Nov 18 PHP
PHP实现大数(浮点数)取余的方法
Feb 18 PHP
thinkphp整合系列之极验滑动验证码geetest功能
Jun 18 PHP
php中的依赖注入实例详解
Aug 14 PHP
PHP的new static和new self的区别与使用
Nov 27 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
基于simple_html_dom的使用小结
2013/07/01 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
jQuery扩展方法实现Form表单与Json互相转换的实例代码
2018/09/05 jQuery
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
跟老齐学Python之开始真正编程
2014/09/12 Python
Python验证码识别的方法
2015/07/10 Python
Python正则表达式完全指南
2017/05/25 Python
Python实现自动发送邮件功能
2021/03/02 Python
Python线程池模块ThreadPoolExecutor用法分析
2018/12/28 Python
Python Numpy库datetime类型的处理详解
2019/07/13 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
物业管理专业个人的自我评价
2013/11/19 职场文书
中层干部竞争上岗演讲稿
2014/01/13 职场文书
小学中秋节活动方案
2014/02/06 职场文书
奥巴马英文演讲稿
2014/05/15 职场文书
委托书怎么写
2014/07/31 职场文书
我的大学四年规划书范文2014
2014/09/26 职场文书
派出所班子党的群众路线对照检查材料思想汇报
2014/10/01 职场文书
三潭印月的导游词
2015/02/12 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python
CSS3实现指纹特效代码
2022/03/17 HTML / CSS