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-MySQL教程归纳总结
Jun 07 PHP
php中将html中的br换行符转换为文本输入中的换行符
Mar 26 PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
Jul 01 PHP
php自定义hash函数实例
May 05 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
Jul 15 PHP
PHP接收json 并将接收数据插入数据库的实现代码
Dec 01 PHP
php微信公众平台配置接口开发程序
Sep 22 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
Apr 16 PHP
解决tp5在nginx下修改配置访问的问题
Oct 16 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
php使用curl检测网页是否被百度收录的示例分享
2014/01/31 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
5款适合PHP使用的HTML编辑器推荐
2015/07/03 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
IE无法设置短域名下Cookie
2010/09/23 Javascript
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
js跳转页面方法总结
2014/01/29 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
2015/06/18 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
详解网站中图片日常使用以及优化手法
2017/01/09 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
详解 javascript对象创建模式
2020/10/30 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python处理文本换行符实例代码
2018/02/03 Python
磁盘垃圾文件清理器python代码实现
2020/08/24 Python
django实现类似触发器的功能
2019/11/15 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
2020/02/15 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
python里反向传播算法详解
2020/11/22 Python
大学生村官典型材料
2014/01/12 职场文书
医德考评自我评价
2014/09/14 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
小学推普周活动总结
2015/05/07 职场文书
学生会自荐信
2019/05/16 职场文书
python xlwt模块的使用解析
2021/04/13 Python
MySQL 数据表操作
2022/05/04 MySQL