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中Session的概念
Oct 09 PHP
Memcache 在PHP中的使用技巧
Feb 08 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
php实现的常见排序算法汇总
Sep 08 PHP
帝国cms常用标签汇总
Jul 06 PHP
php格式化json函数示例代码
May 12 PHP
PHP中的密码加密的解决方案总结
Oct 26 PHP
利用PHP实现一个简单的用户登记表示例
Apr 25 PHP
php基于协程实现异步的方法分析
Jul 17 PHP
PHP之多条件混合筛选功能的实现方法
Oct 09 PHP
解决laravel中日志权限莫名变成了root的问题
Oct 17 PHP
php7 图形用户界面GUI 开发示例
Feb 22 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中常量,变量的作用域和生存周期
2013/08/10 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
Laravel框架控制器的request与response用法示例
2019/09/30 PHP
javascript web页面刷新的方法收集
2009/07/02 Javascript
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
javascript学习笔记(八)正则表达式
2014/10/08 Javascript
node.js中的fs.open方法使用说明
2014/12/17 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
详解如何使用webpack打包JS
2018/06/21 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
对pandas中apply函数的用法详解
2018/04/10 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
全球领先的在线cosplay服装商店:RoleCosplay
2020/01/18 全球购物
什么是.net的Remoting技术
2016/07/08 面试题
给老师的道歉信
2014/01/11 职场文书
新闻编辑专业自荐信
2014/07/02 职场文书
秦兵马俑导游词
2015/02/02 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python
python pygame 开发五子棋双人对弈
2022/05/02 Python
关于Redis的主从复制及哨兵问题
2022/06/16 Redis