php获取拼音首字母排序,PHP获取汉字拼音首字母的方法
PHP获取汉字拼音首字母的方法:
function getfirstchar($s0){
$fchar = ord($s0{0});
if($fchar >= ord("A") and $fchar <= ord("z") )return strtoupper($s0{0});
$s1 = iconv("UTF-8","gb2312", $s0);
$s2 = iconv("gb2312","UTF-8", $s1);
if($s2 == $s0){$s = $s1;}else{$s = $s0;}
$asc = ord($s{0}) * 256 + ord($s{1}) - 65536;
if($asc >= -20319 and $asc <= -20284) return "A";
if($asc >= -20283 and $asc <= -19776) return "B";
if($asc >= -19775 and $asc <= -19219) return "C";
if($asc >= -19218 and $asc <= -18711) return "D";
if($asc >= -18710 and $asc <= -18527) return "E";
if($asc >= -18526 and $asc <= -18240) return "F";
if($asc >= -18239 and $asc <= -17923) return "G";
if($asc >= -17922 and $asc <= -17418) return "I";
if($asc >= -17417 and $asc <= -16475) return "J";
if($asc >= -16474 and $asc <= -16213) return "K";
if($asc >= -16212 and $asc <= -15641) return "L";
if($asc >= -15640 and $asc <= -15166) return "M";
if($asc >= -15165 and $asc <= -14923) return "N";
if($asc >= -14922 and $asc <= -14915) return "O";
if($asc >= -14914 and $asc <= -14631) return "P";
if($asc >= -14630 and $asc <= -14150) return "Q";
if($asc >= -14149 and $asc <= -14091) return "R";
if($asc >= -14090 and $asc <= -13319) return "S";
if($asc >= -13318 and $asc <= -12839) return "T";
if($asc >= -12838 and $asc <= -12557) return "W";
if($asc >= -12556 and $asc <= -11848) return "X";
if($asc >= -11847 and $asc <= -11056) return "Y";
if($asc >= -11055 and $asc <= -10247) return "Z";
return null;
}
function pinyin1($zh){
$ret = "";
$s1 = iconv("UTF-8","gb2312", $zh);
$s2 = iconv("gb2312","UTF-8", $s1);
if($s2 == $zh){$zh = $s1;}
for($i = 0; $i < strlen($zh); $i++){
$s1 = substr($zh,$i,1);
$p = ord($s1);
if($p > 160){
$s2 = substr($zh,$i++,2);
$ret .= getfirstchar($s2);
}else{
$ret .= $s1;
}
//echo $ret."
";
}
return $ret;
}
echo "这是中文字符串:";
echo pinyin1('这是中文字符串')."
";
$a = array("测试","这","Af","第i","李四","显卡");
foreach($a as $v){
echo $v.":".pinyin1($v)."
";
}
结果如下:这是中文字符串:ZSZWZFC
测试:CS
这:Z
Af:Af
第i:Di
李四:LS
显卡:XK
如果只想获得中文字符串第一个字的拼音首字母,请用下面的方法:
function pinyin1($zh){
$ret = "";
$s1 = iconv("UTF-8","gb2312", $zh);
$s2 = iconv("gb2312","UTF-8", $s1);
if($s2 == $zh){$zh = $s1;}
$s1 = substr($zh,$i,1);
$p = ord($s1);
if($p > 160){
$s2 = substr($zh,$i++,2);
$ret .= getfirstchar($s2);
}else{
$ret .= $s1;
}
//echo $ret."
";
return $ret;
}
结果如下:这是中文字符串:Z
测试:C
这:Z
Af:A
第i:D
李四:L
显卡:X
php获取拼音首字母排序,PHP获取汉字拼音首字母的方法相关推荐
- oracle 中文拼音取首字母,ORACLE依据中文拼音首字母排序、取得中文拼音首字母函数...
当前位置:我的异常网» 数据库 » ORACLE依据中文拼音首字母排序.取得中文拼音首字母 ORACLE依据中文拼音首字母排序.取得中文拼音首字母函数 www.myexceptions.net 网友 ...
- php 首字母排序,php对中文按照首字母排序【原创】
/** * 中文字符拼音首字母 * * @param $str * @return null|string */ public function getFirstLetter($str) { if ( ...
- php 数组根据字母排序,php 数组 按拼音首字母 排序 并分组
PHP 数组 按照拼音 首字母 排序 并排序: 需要排序的数组 格式: $list = [ [ 'name' => '张三', 'py' => 'zhnagsan' ], [ 'name' ...
- android列表字母排序,Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音...
[实例简介]Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音 [实例截图] [核心代码] package com.example.sortlistview; imp ...
- php 汉字拼音首字母,PHP获得中文汉字拼音首字母例子
获取给出汉字中拼音的第一个汉字字母我们可以利用汉字的一个编码来进行判断,下面我们来给大家介绍一个例子,非常的简单好用. 先来看看怎样取得单个汉字的拼音首字母,请看下面这个函数,它支持GBK和UTF8编 ...
- java首字母排序_Java实现按中文首字母排序的具体实例
这篇文章主要介绍了Java实现按中文首字母排序的具体实例,有需要的朋友可以参考一下 要实现"按中文首字母排序"操作,可以使用java.util包下的Arrays类的sort()函数 ...
- java实现字母排序_Java实现按中文首字母排序的具体实例
要实现"按中文首字母排序"操作,可以使用java.util包下的arrays类的sort()函数. arrays类包含用来操作数组(比如排序和搜索)的各种方法. 比如对于排序操作的 ...
- python将英文字母排序_20191106-基于Python的对字母基数排序
基数排序 概念 基数排序的算法过程是先将待排元素补位,使其长度一致,然后按照序列中的元素的每个位数进行分桶的一种算法. 比如待排序列是数字,则将所有待比较数值(正整数)统一为同样的数位长度,数位较短的 ...
- sql排序规则,笔画,汉字,拼音,....(转载)
SQL SERVER的排序规则平时使用不是很多,也许不少初学者还比较陌生,但有 一个错误大家应是经常碰到: SQL SERVER数据库,在跨库多表连接查询时,若两数据 库默认字符集不同,系统就会返回这 ...
最新文章
- Linux tcpdump命令
- GridView中实现单选RadioButton
- pb retrieve时停止工作_电机没有抱闸如何利用变频器实现减速停止
- [BZOJ4259]残缺的字符串
- C#设计模式之0-简单工厂模式
- find命令-exec参数的使用说明
- 使用maven-war-plugin 打包时排除不需要的文件
- Python-nmap 使用文档
- MyBatis防止SQL注入的方法
- android 人脸 动画表情包,巧笑表情包怎么制作 Android好玩的emoji人脸表情软件推荐...
- Consul 集群部署
- Android系统权限和root权限
- 小白入门Python-第一课
- 牛客网练习—《网络基础》DAY2
- 借助云开发,利用订阅消息,云函数路由实现小程序好友一对一聊天,添加好友等仿微信功能
- ZJOI2019一轮游记
- Rasa课程、Rasa培训、Rasa面试系列之: Rasa NLU意图和实体-分词器
- Gate 7.2的学习笔记(一)
- org.eclipse.wst.common.component文件位置
- 视图中干嘛不能用Order by排序
热门文章
- 使用计算机不要频繁开关电源,计算机硬盘维护
- DC-DC直流电源的PCB板画板设计建议
- 织梦/DedeCMS v5.5首页栏目添加广告的方法
- Android LCD驱动
- 我告诉你2019年,该怎样去系统学习大数据,知识+内容+教程
- 中专三年计算机应用专业规划,中专计算机应用职业生涯规划书500字
- 重新安装了mysql,以前的数据库如何导入到新的数据库
- 整理android逆向工程师技能表 by非虫from看雪
- Microsoft Excel 2019 Mac中文版v16.26
- 深度学习3D 人体姿态估计面临的问题和挑战