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 相关文章推荐
PR值查询 | PageRank 查询
Dec 20 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
php AJAX实例根据邮编自动完成地址信息
Nov 23 PHP
理解php Hash函数,增强密码安全
Feb 25 PHP
php+xml编程之SimpleXML的应用实例
Jan 24 PHP
php使用Imagick生成图片的方法
Jul 31 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
Dec 10 PHP
PHP sleep()函数, usleep()函数
Aug 25 PHP
php数据序列化测试实例详解
Aug 12 PHP
详解php用static方法的原因
Sep 12 PHP
PHP实现的文件浏览器功能简单示例
Sep 12 PHP
laravel 5.5 关闭token的3种实现方式
Oct 24 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
使用 MySQL Date/Time 类型
2008/03/26 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
PDO::getAttribute讲解
2019/01/28 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
漂亮的提示信息(带箭头)
2007/03/21 Javascript
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
webpack进阶——缓存与独立打包的用法
2017/08/02 Javascript
JavaScript实现区块链
2018/03/14 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
Python处理JSON数据并生成条形图
2016/08/05 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
Django实现学员管理系统
2019/02/26 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
2019/08/21 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
Django REST 异常处理详解
2020/07/15 Python
专营店会计助理岗位职责
2013/11/29 职场文书
小学生环保标语
2014/06/13 职场文书
伦敦奥运会口号
2014/06/13 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
运动会100米广播稿
2015/08/19 职场文书
环保建议书作文300字
2015/09/14 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
Go Plugins插件的实现方式
2021/08/07 Golang
Redis入门基础常用操作命令整理
2022/06/01 Redis