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 无法载入mysql扩展
Mar 12 PHP
phpMyadmin 用户权限中英对照
Apr 02 PHP
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
PHP中PDO基础教程 入门级
Sep 04 PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 PHP
php学习之function的用法
Jul 14 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
php读取文件内容的三种可行方法示例介绍
Feb 08 PHP
php实现插入数组但不影响原有顺序的方法
Mar 27 PHP
PHP中static关键字以及与self关键字的区别
Jul 01 PHP
php注册登录系统简化版
Dec 28 PHP
PHP中Restful api 错误提示返回值实现思路
Apr 12 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
[FAQ]PHP中的一些常识:类篇
2006/10/09 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
php导入模块文件分享
2015/03/17 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
Javascript中的常见排序算法
2007/03/27 Javascript
JS的反射问题
2010/04/07 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
简单实现bootstrap导航效果
2017/02/07 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
js实现内置计时器
2019/12/16 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
Django使用Celery异步任务队列的使用
2018/03/13 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
基于python二叉树的构造和打印例子
2019/08/09 Python
Python获取时间戳代码实例
2019/09/24 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
Python笔记之代理模式
2019/11/20 Python
python 字典访问的三种方法小结
2019/12/05 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
优秀员工自荐书
2013/12/19 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书