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将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
基于wordpress主题制作的具体实现步骤
May 10 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
Jul 25 PHP
dedecms中使用php语句指南
Nov 13 PHP
PHP中浮点数计算比较及取整不准确的解决方法
Jan 09 PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
Dec 21 PHP
php中青蛙跳台阶的问题解决方法
Oct 14 PHP
PHP _construct()函数讲解
Feb 03 PHP
PHP的curl函数的用法总结
Feb 14 PHP
基于Laravel 多个中间件的执行顺序详解
Oct 21 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中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
jQuery操作select的实例代码
2012/06/14 Javascript
你必须知道的Javascript知识点之&quot;字面量和对应类型&quot;说明介绍
2013/04/23 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
JS实现漂亮的时间选择框效果
2016/08/20 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
node 版本切换的实现
2020/02/02 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
Python enumerate遍历数组示例应用
2008/09/06 Python
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
2016/06/23 Python
Python 自动刷博客浏览量实例代码
2017/06/14 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
python3.x上post发送json数据
2018/03/04 Python
python查看模块安装位置的方法
2018/10/16 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
深入了解Django View(视图系统)
2019/07/23 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
阿玛尼美妆英国官网:Giorgio Armani Beauty英国
2019/03/28 全球购物
年度考核自我评价
2014/01/25 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
学期个人自我总结
2015/02/13 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
如何使用pdb进行Python调试
2021/06/30 Python
Elasticsearch 索引操作和增删改查
2022/04/19 Python