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 和 MySQL 基础教程(四)
Oct 09 PHP
PHP+MYSQL开发工具及资源收藏
Jan 02 PHP
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
Jul 01 PHP
PHP文件操作实现代码分享
Sep 01 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
Jun 13 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
Jun 19 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
php访问数组最后一个元素的函数end()用法
Mar 18 PHP
优化WordPress中文章与评论的时间显示
Jan 12 PHP
微信公众号开发之文本消息自动回复php代码
Aug 08 PHP
微信公众号开发客服接口实例代码
Oct 21 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
Mar 12 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 class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
js 中将多个逗号替换为一个逗号的代码
2014/06/07 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
基于mpvue的小程序项目搭建的步骤
2018/05/22 Javascript
JS 自执行函数原理及用法
2019/08/05 Javascript
八种Vue组件间通讯方式合集(推荐)
2020/08/18 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
在Python的Flask中使用WTForms表单框架的基础教程
2016/06/07 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
如何通过python检查文件是否被占用
2020/12/18 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
中国网上药店领导者:1药网
2017/02/16 全球购物
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
班组长工作职责
2013/12/25 职场文书
考生诚信考试承诺书
2014/05/23 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书
MybatisPlus EntityWrapper如何自定义SQL
2022/03/22 Java/Android
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript