现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序。这是中国人大多数使用的排序方法。那么在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;
}

举例如下:

1
echo getFirstCharter('脚本之家www.jb51.net');//结果将输出:J

php获取汉字拼音首字母的方法的更多相关文章

  1. C# 获取汉字拼音首字母

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精   本节探讨C#获取汉字拼音首字母的方法: 代码类东西, ...

  2. C# 获取汉字拼音首字母/全拼

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精   本节探讨C#获取汉字拼音首字母的方法: 代码类东西, ...

  3. (转载)C#提取汉字拼音首字母的方法

    今天突然要用到提取汉字拼音首字母的功能,去网上找了找,发现没有几个好用的,决定自己写一个,效果还不错,发出来大家一起研究下,分享给大家!直接入主题: 1.首先对编码进行定义 #region 编码定义 ...

  4. java获取汉字拼音首字母 --转载

    在项目中要更能根据某些查询条件(比如姓名)的首字母作为条件进行查询,比如查一个叫"李晓明"的人,可以输入'lxm'.写了一个工具类如下: import java.io.Unsupp ...

  5. JAVA获取汉字拼音首字母

    package com.common.util; import java.io.UnsupportedEncodingException; /** * 取得给定汉字串的首字母串,即声母串 * Titl ...

  6. C/C++ 获取汉字拼音首字母

    #include <stdint.h> #include <stdio.h> #include <ctype.h> #include <string.h> ...

  7. qt 获取汉字拼音首字母

    #include "mainwindow.h"#include "ui_mainwindow.h"#include <QDebug>#include ...

  8. php 获取汉字拼音首字母的函数

    function getFirstChar($string){ if($string{0}>="A" and $string{0}<="z" )re ...

  9. 获取汉字拼音&首字母

    pinyin4j https://www.cnblogs.com/yjq520/p/7681537.html

随机推荐

  1. TMS320VC5509的MCBSP配置成SPI模式通信

    1. 首先是把MCBSP的配置 其次是时钟停止模式的配置,关闭大同小异 SPI有4中模式,怎么根据上面的寄存器选择哪种模式?下面展示了其中两种,CLKXP=1的时候有另外两种,暂时不整出来了 2. 代 ...

  2. Docker GitHub 网站中 Readme.md 以技术者的角度翻译

    Docker 是一个开源的轻量级容器项目,用于让你的应用在它上面打包.集装和运行.Docker 运行的环境既包含未知硬件也包含未知操作系统.这句话的意思是它可以运行在任何地方,小到你的笔记本大到一个大 ...

  3. UWP简单示例(一):快速合成音乐MV

    说明 本文发布时间较早,内容可能已过时.最新动态请关注 TypeScript 版本.(2019 年 3 月 注) 在线演示: 音频可视化(TypeScript) 准备 IDE:Visual Studi ...

  4. 写个发邮件的功能php的(全代码)

    ---恢复内容开始--- 正好做了个项目,需要在线留言,一般在线留言发邮件是很常见的方式,一开始从网上搜了很久都没有很全的,也有全一点的,但是也不能用,运行不成功,下面给大家分享一下运行成功了的全部代 ...

  5. CommandoVM-虚拟机映像文件 | VM打开直接用

    呵呵!自从火眼发布了这个CommandoVM,想必大家应该都挺激动,然而实际操作一下,基本炸裂-- 因为并没有给类似于kali这种直接安装的现成镜像,而是要通过github的脚本去完全网络安装 实际操 ...

  6. (功能篇)回顾Bug管理系统Mantis优化改造经历

    共分为两篇,功能篇和技术篇. 时间大约是2016年冬天. 考虑搭一个用于Bug管理和追踪的系统. 综合比较下,选择了小巧的开源工具,Mantis. 在源码基础上,做代码修改,完成了定制版的优化改造. ...

  7. (1) English Learning

    1.  no-brainer 不必花脑筋的事物 This tool is really no-brainer that almost everyone can use it. 这个工具太简单用了,不会 ...

  8. coinmarketcap前20之cardano卡尔达诺(ADA艾达币)

    1. 在开始讲述cardano前,我先说说自己在coinmarketcap前20系列的"学习方法". 最初,我把前20做了一个简单表格,不做任何功课的基础上,记录自己对它们的简要认 ...

  9. 10慕课网《进击Node.js基础(一)》初识promise

    首先用最简单的方式实现一个动画效果 <!doctype> <html> <head> <title>Promise animation</titl ...

  10. do

    http://www.cnblogs.com/xdp-gacl/p/3791993.html http://blog.sina.com.cn/s/blog_95c8f1ac010198j2.html