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 相关文章推荐
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
Mar 21 PHP
php 团购折扣计算公式
Nov 24 PHP
php实现文件下载更能介绍
Nov 23 PHP
php常用hash加密函数
Nov 22 PHP
php+mysqli批量查询多张表数据的方法
Jan 29 PHP
php将字符串转换成16进制的方法
Mar 17 PHP
php实现通用的从数据库表读取数据到数组的函数实例
Mar 21 PHP
php脚本运行时的超时机制详解
Feb 17 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 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
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
Javascript技术难点之apply,call与this之间的衔接
2015/12/04 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
微信小程序 自定义Toast实例代码
2017/06/12 Javascript
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
js实现简单模态框实例
2018/11/16 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
python中文编码问题小结
2014/09/28 Python
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
工作自我评价怎么写
2014/01/29 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
2014年小学数学教师工作总结
2014/12/03 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书
比较几种Redis集群方案
2021/06/21 Redis