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 相关文章推荐
一个简易需要注册的留言版程序
Oct 09 PHP
MYSQL数据库初学者使用指南
Nov 16 PHP
用PHP实现维护文件代码
Jun 14 PHP
php中的三元运算符使用说明
Jul 03 PHP
解析php如何将日志写进syslog
Jun 28 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 PHP
2014年最新推荐的10款 PHP 开发框架
Aug 01 PHP
PHP发送AT指令实例代码
May 26 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP实现的多维数组去重操作示例
Jul 21 PHP
php传值和传引用的区别点总结
Nov 19 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
May 26 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
使用apache模块rewrite_module (转)
2007/02/14 PHP
用php实现的下载css文件中的图片的代码
2010/02/08 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
动态添加js事件实现代码
2009/03/12 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
jquery.zclip轻量级复制失效问题
2017/01/08 Javascript
JS异步加载的三种实现方式
2017/03/16 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
对python requests的content和text方法的区别详解
2018/10/11 Python
python函数的万能参数传参详解
2019/07/26 Python
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
仓库管理专业个人自我评价范文
2013/11/11 职场文书
财务管理个人自荐书范文
2013/11/24 职场文书
妇女干部培训方案
2014/05/12 职场文书
男性健康日的活动方案
2014/08/18 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
2014年科研工作总结
2014/12/03 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
谢师宴家长答谢词
2015/09/30 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
详解JS数组方法
2021/11/20 Javascript
python模板入门教程之flask Jinja
2022/04/11 Python