开发中用到的方法,取出第一个汉字的首字母;

/**
* 取汉字的第一个字的首字母
* @param string $str
* @return string|null
*/
function getFirstChar($str) {
if (empty($str)) {
return '';
} $fir = $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;
if (!isset($s[0]) || !isset($s[1])) {
return '';
} $asc = ord($s[0]) * 256 + ord($s[1]) - 65536; if (is_numeric($str)) {
return $str;
} if (($asc >= -20319 && $asc <= -20284) || $fir == 'A') {
return 'A';
}
if (($asc >= -20283 && $asc <= -19776) || $fir == 'B') {
return 'B';
}
if (($asc >= -19775 && $asc <= -19219) || $fir == 'C') {
return 'C';
}
if (($asc >= -19218 && $asc <= -18711) || $fir == 'D') {
return 'D';
}
if (($asc >= -18710 && $asc <= -18527) || $fir == 'E') {
return 'E';
}
if (($asc >= -18526 && $asc <= -18240) || $fir == 'F') {
return 'F';
}
if (($asc >= -18239 && $asc <= -17923) || $fir == 'G') {
return 'G';
}
if (($asc >= -17922 && $asc <= -17418) || $fir == 'H') {
return 'H';
}
if (($asc >= -17417 && $asc <= -16475) || $fir == 'J') {
return 'J';
}
if (($asc >= -16474 && $asc <= -16213) || $fir == 'K') {
return 'K';
}
if (($asc >= -16212 && $asc <= -15641) || $fir == 'L') {
return 'L';
}
if (($asc >= -15640 && $asc <= -15166) || $fir == 'M') {
return 'M';
}
if (($asc >= -15165 && $asc <= -14923) || $fir == 'N') {
return 'N';
}
if (($asc >= -14922 && $asc <= -14915) || $fir == 'O') {
return 'O';
}
if (($asc >= -14914 && $asc <= -14631) || $fir == 'P') {
return 'P';
}
if (($asc >= -14630 && $asc <= -14150) || $fir == 'Q') {
return 'Q';
}
if (($asc >= -14149 && $asc <= -14091) || $fir == 'R') {
return 'R';
}
if (($asc >= -14090 && $asc <= -13319) || $fir == 'S') {
return 'S';
}
if (($asc >= -13318 && $asc <= -12839) || $fir == 'T') {
return 'T';
}
if (($asc >= -12838 && $asc <= -12557) || $fir == 'W') {
return 'W';
}
if (($asc >= -12556 && $asc <= -11848) || $fir == 'X') {
return 'X';
}
if (($asc >= -11847 && $asc <= -11056) || $fir == 'Y') {
return 'Y';
}
if (($asc >= -11055 && $asc <= -10247) || $fir == 'Z') {
return 'Z';
} return '';
}

php---------取汉字的第一个字的首字母的更多相关文章

  1. SQL汉字转拼音函数-支持首字母、全拼

    SQL汉字转拼音函数-支持首字母.全拼 FROM :http://my.oschina.net/ind/blog/191659 作者不详 --方法一sqlserver汉字转拼音首字母 --调用方法 s ...

  2. 使用PHP获取汉字的拼音(全部与首字母)

    <?php /** * 取汉字拼音 * edit by www.jbxue.com */ class GetPingYing { private $pylist = array( 'a'=> ...

  3. java汉字转拼音以及得到首字母通用方法

    package oa.common.utils;   import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.piny ...

  4. java根据汉字获取全拼和首字母

    import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCase ...

  5. vue集成汉字转拼音或提取首字母

    需求:             有时我们为了节省用户的维护量,需要根据中文生成出相应的拼音和缩写 解决:            此方法是利用汉字和Unicode编码对应找到相应字母 一.编写汉字和编码 ...

  6. 【Java】使用pinyin4j获取汉字的全拼或首字母

    汉字转拼音的工具类,常用于做汉字拼音的模糊查询. https://www.cnblogs.com/htyj/p/7891918.html

  7. php里获取第一个中文首字母并排序

    需求里结算首页需要按门店的首字母A-Z排序.我的数据结构原本是这样的: Array ( [0] => Array ( [sid] => 2885842 [recetcstoredpay] ...

  8. MySQL数据库获取多个汉字拼音的首字母函数

    需求简介:最近的一个项目,想实现如下图所示的显示效果.很明显,如果能够获取对应的汉字词组中每个汉字的拼音首字母就可以实现了,如果是固定的几组汉字,人为的拼一下就可以 了,不过项目中有多处功能需要这个效 ...

  9. Java 获取汉字串首字母并大写和获取汉字的全拼,英文字符不变

    在开发中我们难免会遇到需要提出汉字中的拼音的首字母.提出汉字的拼音,接着便介绍一个工具类 pinyin4j.jar,首先需要下载 jar 包. Pinyin4j是一个功能强悍的汉语拼音工具包,是sou ...

随机推荐

  1. 云计算之路-阿里云上:消灭“黑色n秒”第一招——不让CPU空闲

    昨天对“黑色n秒”问题的最终猜想以失败而告终,从而让我们结束了被动猜想阶段,进入了主动进攻阶段——出招. 今天出第一招——用C#写个小程序,让其在每个CPU核上运行一个线程,不让任何一个CPU核进入空 ...

  2. Oracle AWR之-enq: TX - allocate ITL entry

    今天收到压力测试期间awr报告,测试人员要我看看数据库是否有可以优化的地方,数据库服务器配置信息:CPU:32*8,内存:480g 单实例数据库:oracle 11.2.0.4.具体分析过程如下: 可 ...

  3. 验证url的正则

    一. '/@(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()& ...

  4. java.util.ResourceBundle 读取国际化资源或配置文件

    1.定义三个资源文件,放到src的根目录下面 命名规范是: 自定义名_语言代码_国别代码.properties 默认 : 自定义名.properties   2.资源文件都必须是ISO-8859-1编 ...

  5. 三、Mosquitto Java 客户端实现

    本文的实现是在 << 一.Mosquitto 介绍&安装>> << 二. Mosquitto 的使用说明 >> 两篇文章搭建好 Mosquitt ...

  6. 1107 Social Clusters[并查集][难]

    1107 Social Clusters(30 分) When register on a social network, you are always asked to specify your h ...

  7. java构建树用的Node

    package org.ccnt.med.body; import java.util.ArrayList; import java.util.List; public class Node { // ...

  8. 数据挖掘-逻辑Logistic回归

    逻辑回归的基本过程:a建立回归或者分类模型--->b 建立代价函数 ---> c 优化方法迭代求出最优的模型参数  --->d 验证求解模型的好坏. 1.逻辑回归模型: 逻辑回归(L ...

  9. 了解Flask 信号机制

    Flask框架中的信号基于blinker,其主要就是让开发者可是在flask请求过程中定制一些用户行为. pip3 install blinker 1. 内置信号 request_started = ...

  10. HashSet、HashMap、Hashtable、TreeMap循环、区别

    HashSet 循环 //可以为null HashSet<Object> hashSet =new HashSet<Object>(); hashSet.add(1); has ...