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 相关文章推荐
40个迹象表明你还是PHP菜鸟
Sep 29 PHP
超级实用的7个PHP代码片段分享
Jan 05 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
Feb 01 PHP
编写php应用程序实现摘要式身份验证的方法详解
Jun 08 PHP
Destoon模板制作简明教程
Jun 20 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
PHP环境中Memcache的安装和使用
Nov 05 PHP
yii2带搜索功能的下拉框实例详解
May 12 PHP
ThinkPHP中create()方法自动验证实例
Apr 26 PHP
深入理解PHP中mt_rand()随机数的安全
Oct 12 PHP
PHP封装的简单连接MongoDB类示例
Feb 13 PHP
PHP实现计算器小功能
Aug 28 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实现cookie加密的方法
2015/03/10 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
js在输入框屏蔽按键,只能键入数字的示例代码
2014/01/03 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
对于jQuery性能的一些优化建议
2015/08/13 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
js改变html的原有内容实现方法
2016/10/05 Javascript
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
解决vue 项目引入字体图标报错、不显示等问题
2018/09/01 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
通过js随机函数Math.random实现乱序
2020/05/19 Javascript
python解决网站的反爬虫策略总结
2016/10/26 Python
利用python程序帮大家清理windows垃圾
2017/01/15 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
遗传算法python版
2018/03/19 Python
详解Python如何生成词云的方法
2018/06/01 Python
python plotly绘制直方图实例详解
2019/07/22 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
python 追踪except信息方式
2020/04/25 Python
html Table 表头固定的实现
2019/01/22 HTML / CSS
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
专科应届生求职信
2013/11/24 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
给学校建议书范文
2014/05/13 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL