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之第四天
Oct 09 PHP
php 归并排序 数组交集
May 10 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
May 12 PHP
PHP实现格式化文件数据大小显示的方法
Jan 03 PHP
8个PHP数组面试题
Jun 23 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
Dec 16 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
yii2分页之实现跳转到具体某页的实例代码
Jun 02 PHP
PHP处理bmp格式图片的方法分析
Jul 04 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
php使用curl伪造浏览器访问操作示例
Sep 30 PHP
Laravel框架之解决前端显示图片问题
Oct 24 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
php sprintf()函数让你的sql操作更安全
2008/07/23 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
JQuery 确定css方框模型(盒模型Box Model)
2010/01/22 Javascript
js css后面所带参数含义介绍
2013/08/18 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
2017/07/23 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
Vue无限滑动周选择日期的组件的示例代码
2018/07/18 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
微信小程序实现张图片合成为一张并下载
2019/07/16 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
python中enumerate的用法实例解析
2014/08/18 Python
python Flask实现restful api service
2017/12/04 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
super()与this()的区别
2016/01/17 面试题
高一家长会邀请函
2014/01/12 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
演讲稿格式
2014/04/30 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
赤壁观后感(2)
2015/06/15 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python