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(视频)Http下载
Dec 12 PHP
php 方便水印和缩略图的图形类
May 21 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
解析php中两种缩放图片的函数,为图片添加水印
Jun 14 PHP
php抽奖小程序的实现代码
Jun 18 PHP
php中apc缓存使用示例
Dec 25 PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
May 18 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
PHP入门教程之上传文件实例详解
Sep 11 PHP
phpmyadmin下载、安装、配置教程
May 16 PHP
Laravel使用原生sql语句并调用的方法
Oct 09 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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
PHP的类 功能齐全的发送邮件类
2006/10/09 PHP
php,ajax实现分页
2008/03/27 PHP
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
phpmyadmin 访问被拒绝的真实原因
2009/06/15 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
JS 实现图片直接下载示例代码
2013/07/22 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
python实现在字符串中查找子字符串的方法
2015/07/11 Python
django之常用命令详解
2016/06/30 Python
Python中正则表达式详解
2017/05/17 Python
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
keras 自定义loss层+接受输入实例
2020/06/28 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
澳大利亚最受欢迎的美发用品目的地:AMR
2019/08/28 全球购物
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
什么是Smart Navigation?
2016/07/03 面试题
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
2015年国税春训心得体会
2015/03/09 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书