php获取汉字拼音首字母的方法


Posted in PHP onOctober 21, 2015

现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序。这是中国人大多数使用的排序方法。那么在php程序中该如何操作呢?

下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的大多数是有问题的,这个可是经过小编实践应用过的,真的可以使用的哦。

//php获取中文字符拼音首字母 
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; 
}

举例如下:

echo getFirstCharter('三水点靠木3water.com');//结果将输出:J

以上就是php获取汉字拼音首字母的函数,希望能够帮助大家更好的学习php编程。

PHP 相关文章推荐
php生成EXCEL的东东
Oct 09 PHP
mysql时区问题
Mar 26 PHP
PHP 数字左侧自动补0
Mar 31 PHP
PHP中simplexml_load_string函数使用说明
Jan 01 PHP
PHP里的中文变量说明
Jul 23 PHP
PHP大转盘中奖概率算法实例
Oct 21 PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
Dec 21 PHP
PHP小偷程序的设计与实现方法详解
Oct 15 PHP
浅谈PHP中的面向对象OOP中的魔术方法
Jun 12 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 #PHP
PHP中的switch语句的用法实例详解
Oct 21 #PHP
PHP 实现的将图片转换为TXT
Oct 21 #PHP
PHP实现清除wordpress里恶意代码
Oct 21 #PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
Oct 20 #PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
Oct 20 #PHP
PHP页面转UTF-8中文编码乱码的解决办法
Oct 20 #PHP
You might like
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php输出表格的实现代码(修正版)
2010/12/29 PHP
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
2012/12/25 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
python使用7z解压软件备份文件脚本分享
2014/02/21 Python
Python批量转换文件编码格式
2015/05/17 Python
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
django用户登录验证的完整示例代码
2019/07/21 Python
python2使用bs4爬取腾讯社招过程解析
2019/08/14 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
高中物理教学反思
2014/02/08 职场文书
班风口号
2014/06/18 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
python爬虫--selenium模块
2021/03/31 Python
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript
七个Python必备的GUI库
2021/04/27 Python
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python