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脚本数据库功能详解(上)
Oct 09 PHP
PHP图片上传类带图片显示
Nov 25 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
Mar 26 PHP
PHP操作MongoDB GridFS 存储文件的详解
Jun 20 PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
PHP中使用file_get_contents post数据代码例子
Feb 13 PHP
Php-Redis安装测试笔记
Mar 05 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
PHP实现添加购物车功能
Mar 06 PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 PHP
PHP实现腾讯与百度坐标转换
Aug 05 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
codeigniter框架批量插入数据
2014/01/09 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
js实现简单音乐播放器
2020/06/30 Javascript
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python中的pass语句使用方法讲解
2015/05/14 Python
python 3.0 模拟用户登录功能并实现三次错误锁定
2017/11/01 Python
python flask中静态文件的管理方法
2018/03/20 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
毕业生求职简历的自我评价
2013/10/07 职场文书
六月份红领巾广播稿
2014/02/03 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
学校教学管理制度
2015/08/06 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
JavaScript实现栈结构详细过程
2021/12/06 Javascript
Oracle数据库中通用的函数实例详解
2022/03/25 Oracle