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中MD5函数使用实例代码
Jun 07 PHP
PHP对字符串的递增运算分析
Aug 08 PHP
php中判断字符串是否全是中文或含有中文的实现代码
Sep 16 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
PHP统计二维数组元素个数的方法
Nov 12 PHP
php获得url参数中具有&amp;的值的方法
Mar 05 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
CodeIgniter记录错误日志的方法全面总结
May 17 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
Oct 08 PHP
PHP实现普通hash分布式算法简单示例
Aug 06 PHP
PHP命名空间(namespace)原理与用法详解
Dec 11 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
Mar 23 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 SEO优化之URL优化方法
2011/04/21 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
实现PHP搜索加分页
2016/10/12 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
XENON基于JSON变种
2010/07/27 Javascript
js保留两位小数使用toFixed实现
2013/07/29 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
javascript实现简单搜索功能
2020/03/26 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
2020/08/18 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
解决Python2.7中IDLE启动没有反应的问题
2018/11/30 Python
python requests证书问题解决
2019/09/05 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
jupyter notebook 多环境conda kernel配置方式
2020/04/10 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
2020/07/03 Python
Python进行统计建模
2020/08/10 Python
松本清官方海外旗舰店:日本最大的药妆连锁店
2017/11/21 全球购物
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
销售行业个人求职自荐信
2013/09/25 职场文书
先进事迹报告会感言
2014/01/24 职场文书
幼儿园评语大全
2014/04/17 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis
python元组打包和解包过程详解
2021/08/02 Python