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+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
Feb 15 PHP
php 防止单引号,双引号在接受页面转义
Jul 10 PHP
PHP采集相关教程之一 CURL函数库
Feb 15 PHP
php中判断数组是一维,二维,还是多维的解决方法
May 04 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
Jan 07 PHP
linux下安装php的memcached客户端
Aug 03 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
Feb 19 PHP
PHP设计模式之观察者模式实例
Feb 22 PHP
PHP新特性详解之命名空间、性状与生成器
Jul 18 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 PHP
php操作redis命令及代码实例大全
Nov 19 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中使用redis队列操作实例代码
2013/02/07 PHP
php读取大文件示例分享(文件操作类)
2014/04/13 PHP
ThinkPHP视图查询详解
2014/06/30 PHP
Laravel5.4简单实现app接口Api Token认证方法
2019/08/29 PHP
事件模型在各浏览器中存在差异
2010/10/20 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
基于jQuery实现表单提交验证
2014/11/24 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
2020/09/04 Javascript
python django 增删改查操作 数据库Mysql
2017/07/27 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
简单了解Python write writelines区别
2020/02/27 Python
Python运行异常管理解决方案
2020/03/09 Python
如何理解python中数字列表
2020/05/29 Python
Python实现验证码识别
2020/06/15 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
以设计师精品品质提供快速时尚:PopJulia
2018/01/09 全球购物
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
在什么时候需要使用"常引用"
2015/12/31 面试题
党员的自我评价范文
2014/01/02 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
go语言中json数据的读取和写出操作
2021/04/28 Golang
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫