php 获得汉字拼音首字母的函数


Posted in PHP onAugust 01, 2009

php获取汉字拼音的第一个字母

<?php 
function getinitial($str) 
{ 
$asc=ord(substr($str,0,1)); 
if ($asc<160) //非中文 
{ 
if ($asc>=48 && $asc<=57){ 
return '1'; //数字 
}elseif ($asc>=65 && $asc<=90){ 
return chr($asc); // A--Z 
}elseif ($asc>=97 && $asc<=122){ 
return chr($asc-32); // a--z 
}else{ 
return '~'; //其他 
} 
} 
else //中文 
{ 
$asc=$asc*1000+ord(substr($str,1,1)); 
//获取拼音首字母A--Z 
if ($asc>=176161 && $asc<176197){ 
return 'A'; 
}elseif ($asc>=176197 && $asc<178193){ 
return 'B'; 
}elseif ($asc>=178193 && $asc<180238){ 
return 'C'; 
}elseif ($asc>=180238 && $asc<182234){ 
return 'D'; 
}elseif ($asc>=182234 && $asc<183162){ 
return 'E'; 
}elseif ($asc>=183162 && $asc<184193){ 
return 'F'; 
}elseif ($asc>=184193 && $asc<185254){ 
return 'G'; 
}elseif ($asc>=185254 && $asc<187247){ 
return 'H'; 
}elseif ($asc>=187247 && $asc<191166){ 
return 'J'; 
}elseif ($asc>=191166 && $asc<192172){ 
return 'K'; 
}elseif ($asc>=192172 && $asc<194232){ 
return 'L'; 
}elseif ($asc>=194232 && $asc<196195){ 
return 'M'; 
}elseif ($asc>=196195 && $asc<197182){ 
return 'N'; 
}elseif ($asc>=197182 && $asc<197190){ 
return 'O'; 
}elseif ($asc>=197190 && $asc<198218){ 
return 'P'; 
}elseif ($asc>=198218 && $asc<200187){ 
return 'Q'; 
}elseif ($asc>=200187 && $asc<200246){ 
return 'R'; 
}elseif ($asc>=200246 && $asc<203250){ 
return 'S'; 
}elseif ($asc>=203250 && $asc<205218){ 
return 'T'; 
}elseif ($asc>=205218 && $asc<206244){ 
return 'W'; 
}elseif ($asc>=206244 && $asc<209185){ 
return 'X'; 
}elseif ($asc>=209185 && $asc<212209){ 
return 'Y'; 
}elseif ($asc>=212209){ 
return 'Z'; 
}else{ 
return '~'; 
} 
} 
} 
echo getinitial("脚本"); 
?>
function getfirstchar($s0){ 
$firstchar_ord=ord(strtoupper($s0{0})); 
if (($firstchar_ord>=65 and $firstchar_ord<=91)or($firstchar_ord>=48 and $firstchar_ord<=57)) return $s0{0}; 
$s=iconv("UTF-8","gb2312", $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 "H"; 
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; 
} 
echo getfirstchar("哈哈");
PHP 相关文章推荐
php中常用字符串处理代码片段整理
Nov 07 PHP
php合并js请求的例子
Nov 01 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
Sep 22 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
Nov 24 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
深入解析PHP的Laravel框架中的event事件操作
Mar 21 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
Dec 23 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
php5.x禁用eval的操作方法
Oct 19 PHP
PHP fprintf()函数用法讲解
Feb 16 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
PHP 上传文件的方法(类)
Jul 30 #PHP
PHP 文章中的远程图片采集到本地的代码
Jul 30 #PHP
PHP 中文乱码解决办法总结分析
Jul 30 #PHP
PHP 变量定义和变量替换的方法
Jul 30 #PHP
PHP file_get_contents 函数超时的几种解决方法
Jul 30 #PHP
一个PHP数组应该有多大的分析
Jul 30 #PHP
PHP UTF8编码内的繁简转换类
Jul 20 #PHP
You might like
js中的布尔运算符使用介绍
2013/11/20 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
javascript实现可键盘控制的抽奖系统
2016/03/10 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
利用Vue2.x开发实现JSON树的方法
2018/01/04 Javascript
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
如何使用Node.js爬取任意网页资源并输出PDF文件到本地
2019/06/17 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
Python常用正则表达式符号浅析
2014/08/13 Python
用Python从零实现贝叶斯分类器的机器学习的教程
2015/03/31 Python
Python NumPy库安装使用笔记
2015/05/18 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
2018/05/28 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
2020/03/24 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
纯CSS3实现圆圈动态发光特效动画的示例代码
2021/03/08 HTML / CSS
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
C/C++有关内存的思考题
2015/12/04 面试题
求职自荐信
2013/12/14 职场文书
就业表自我评价分享
2014/02/06 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
竞选村长演讲稿
2014/04/28 职场文书
伊索寓言教学反思
2014/05/01 职场文书
保护环境演讲稿
2014/05/10 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
「魔法少女伊莉雅」美游粘土人开订
2022/03/21 日漫