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
php执行sql语句的写法
Mar 10 PHP
关于页面优化和伪静态
Oct 11 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 PHP
我的php学习笔记(毕业设计)
Feb 21 PHP
简单的cookie计数器实现源码
Jun 07 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
Jun 28 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 PHP
php查询whois信息的方法
Jun 08 PHP
PHP获取页面执行时间的方法(推荐)
Dec 10 PHP
实现PHP中session存储及删除变量
Oct 15 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
Feb 11 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
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
Vue.js实现输入框绑定的实例代码
2017/08/24 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
编写Python脚本批量下载DesktopNexus壁纸的教程
2015/05/06 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
Python logging模块用法示例
2018/08/28 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2019/04/12 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
SIDESTEP荷兰:在线购买鞋子
2019/11/18 全球购物
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
品恩科技软件测试面试题
2014/10/26 面试题
2015年超市工作总结
2015/04/09 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
机械生产实习心得体会
2016/01/22 职场文书
2019年大学推荐信
2019/06/24 职场文书
Python进行区间取值案例讲解
2021/08/02 Python