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 set_magic_quotes_runtime() 函数过时解决方法
Jul 08 PHP
PHP实现多图片上传类实例
Jul 26 PHP
PHP return语句的另一个作用
Jul 30 PHP
PHP中使用GD库创建圆形饼图的例子
Nov 19 PHP
php程序内部post数据的方法
Mar 31 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
Jun 30 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 PHP
yii2多图上传组件的使用教程
May 10 PHP
php微信开发之关注事件
Jun 14 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 PHP
laravel框架实现敏感词汇过滤功能示例
Feb 15 PHP
php与阿里云短信接口接入操作案例分析
May 27 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
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
PHP_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
php判断当前操作系统类型
2015/10/28 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
PHP Smarty模版简单使用方法
2016/03/30 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
canvas绘制一个常用的emoji表情
2017/03/30 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
微信小程序实现留言板
2018/10/31 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
Python计算一个文件里字数的方法
2015/06/15 Python
21行Python代码实现拼写检查器
2016/01/25 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
django 信号调度机制详解
2019/07/19 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
Java面向对象面试题
2016/12/26 面试题
文字自荐书范文
2014/02/10 职场文书
励志演讲稿600字
2014/08/21 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL