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 静态页面中显示动态内容
Aug 14 PHP
PHP定时自动生成静态HTML的实现代码
Jun 20 PHP
php采集时被封ip的解决方法
Aug 29 PHP
php多维数组去掉重复值示例分享
Mar 02 PHP
getJSON跨域SyntaxError问题分析
Aug 07 PHP
php正则表达式获取内容所有链接
Jul 24 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
Feb 04 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
利用PHP获取网站访客的所在地位置
Jan 18 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
PHP中file_put_contents追加和换行的实现方法
Apr 01 PHP
Laravel 加载第三方类库的方法
Apr 20 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中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
默默简单的写了一个模板引擎
2007/01/02 PHP
php合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
深入了解PHP类Class的概念
2012/06/14 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
jQuery入门介绍之基础知识
2015/01/13 Javascript
JS+CSS实现可拖拽的漂亮圆角特效弹出层完整实例
2015/02/13 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
2015/09/22 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
把pandas转换int型为str型的方法
2019/01/29 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
Python 复平面绘图实例
2019/11/21 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
判断单链表中是否存在环
2012/07/16 面试题
可靠的数据流传输TCP
2016/03/15 面试题
机械系大学毕业生推荐信
2013/11/27 职场文书
员工拓展培训方案
2014/02/15 职场文书
环保项目建议书
2014/08/26 职场文书
防灾减灾标语
2014/10/07 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS