mysql城市表含字首字母_城市列表取汉字的第一个字的首字母并排序功能
/**
* 取汉字的第一个字的首字母
* @param type $str
* @return string|null
* @user qichao
* @date 2017-04-13*/
public function _getFirstCharter($str){if(empty($str)) {return '';}$fchar=ord($str{0});if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0});$s1=iconv('UTF-8','gb2312',$str);$s2=iconv('gb2312','UTF-8',$s1);$s=$s2==$str?$s1:$str;$asc = ord($s{0})*256 + ord($s{1})-65536;if($asc>=-20319&&$asc<=-20284) return ‘A';
if($asc>=-20283&&$asc<=-19776 || $asc==-9743) return'B';
if($asc>=-19775&&$asc<=-19219) return'C';
if($asc>=-19218&&$asc<=-18711 || $asc==-9767) return'D';
if($asc>=-18710&&$asc<=-18527) return'E';
if($asc>=-18526&&$asc<=-18240) return'F';
if($asc>=-18239&&$asc<=-17923) return'G';
if($asc>=-17922&&$asc<=-17418) return'H';
if($asc>=-17417&&$asc<=-16475) return'J';
if($asc>=-16474&&$asc<=-16213) return'K';
if($asc>=-16212&&$asc<=-15641 || $asc==-7182 || $asc==-6928 ) return'L';
if($asc>=-15640&&$asc<=-15166) return'M';
if($asc>=-15165&&$asc<=-14923) return'N';
if($asc>=-14922&&$asc<=-14915) return'O';
if($asc>=-14914&&$asc<=-14631 || $asc==-6745) return'P';
if($asc>=-14630&&$asc<=-14150 || $asc==-7703) return'Q';
if($asc>=-14149&&$asc<=-14091) return'R';
if($asc>=-14090&&$asc<=-13319) return'S';
if($asc>=-13318&&$asc<=-12839) return'T';
if($asc>=-12838&&$asc<=-12557) return'W';
if($asc>=-12556&&$asc<=-11848) return'X';
if($asc>=-11847&&$asc<=-11056) return'Y';
if($asc>=-11055&&$asc<=-10247) return'Z';
return null;
}
//调用方法: $this->_getFirstCharter('张家口');
//然后下一步,要对这个二维数据排序。我思考了很久,后来想到了方案,先在循环里调用这个取首字母的方法,然后以这个字母作为key,因为php里有根据key排序的方法,所以我的代码写成这样就搞定了:
public function getRegionlist()
{
$regionData = $this->_regionNamesArray();
$settlesRes = array();
foreach ($regionData as $key=>$sett){
$name = $sett['name'];
$nameFirstChar = $this->_getFirstCharter($name); //取出第一个汉字的首字母
$settlesRes[$nameFirstChar][] = $sett;//以这个首字母作为key
}
ksort($settlesRes);
return $settlesRes;
}
/**
* 城市名称
*/
public function _regionNamesArray()
{
//获取rid和城市name
$result = UtilityGetSystemLocationRegionList::select('rid','name')->where('valid','=','T')->get()->toArray();
return $result;
}
mysql城市表含字首字母_城市列表取汉字的第一个字的首字母并排序功能相关推荐
- 城市列表取汉字的第一个字的首字母并排序功能
先上图效果: 数据结构原来是这样: Array ([0] => Array([sid] => 2885842[recetcstoredpay] => 24000[recetclpri ...
- php取汉字第一个字,php---------取汉字的第一个字的首字母
2019独角兽企业重金招聘Python工程师标准>>> 开发中用到的方法,取出第一个汉字的首字母: /** * 取汉字的第一个字的首字母 * @param string $str * ...
- mysql insert表名前不写字段_云计算教程分享Mysql技术知识点
云计算教程分享Mysql技术知识点,首先来讲一下Mysql语句精进 安装数据库,然后导入tigerfive.sql. sql见文档结尾部分 MySQL示例数据库模式由以下表组成: - customer ...
- java pinyin4j 首字母_通讯录之按汉字首字母排序 --java--pinyin4J
最近开发手机端OA系统通讯录时遇到了用汉字首字母排序的问题,各种谷歌后发现了一个轮子pinyin4J,这个轮子是可以将汉字转换成字母拼音,个人觉得很好用,完美的解决了排序的问题,分享一下. 一.工具介 ...
- mysql设置表名字为占位符_这可能是把MySQL存储引擎讲解的最清楚的一篇文章了
存储引擎是MySQL的组件,用于处理不同表类型的SQL操作.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能. 使用哪一种引擎可以灵活选择,一个数据 ...
- mysql某个表被行锁了_一文搞懂MySQL行锁、表锁、间隙锁详解
准备工作 创建表 tb_innodb_lock drop table if exists test_innodb_lock; CREATE TABLE test_innodb_lock ( a INT ...
- word段落每行首字怎么对齐_如何将emword/em中上下两行文字首字对齐?-word 左右对齐,word同一行不同...
格式工具栏里有个按钮"分散对齐", 选中第一行点按钮,输入新文字宽度10.就ok了 以2007为例: 1.选择这部分内容,鼠标右键->选择"段落"抄,弹出 ...
- mysql向表中填入数据_教你快速掌握如何向MySQL的表中录入数据
当我们建好数据库及表后,首先想到的就是向数据库的表中输入数据.下面我们就来探讨一下如何向数据库增加数据: 1.常用的方法是insert语句 以下为引用的内容: insert into tablenam ...
- mysql多表同步es一个索引_使用 Logstash 同步多个数据表到 Elasticsearch 同一个索引 (Index)...
最近使用了 ELK 做搜索,出报表,由于我们的业务数据很多,汇总起来有近 200 个字段,刚开始写了一个庞大的视图通过 Logstash 同步到 Elasticsearch,但是遇到了很多问题: 1. ...
最新文章
- 学习Java需要达到的25个目标
- Linux 文件区块连续吗,关于Linux文件系统的的简单理解和认识
- bzoj4639 博士的选取器
- AngularJS中页面传参方法
- 究竟哪种取数据的方式最快?
- Linux修改history存储的最大记录数
- yum提示“Cannot retrieve metalink for repository: epel/x86_64” 解决方法
- ffmpeg之YUV420P转RGB24
- 模拟电路全系列复习题 恶补知识点
- MS word自带公式编辑器、MathType、AxMath三种公式编辑器的比较
- 基于51单片机220V交流电流检测系统过流阈值报警方案原理图
- 腾讯会议PPT演讲者模式
- 服务器系统计划任务不执行,Windows 2008 r2任务计划程序执行批处理失败问题解决方法...
- LiveCharts
- 阿里云解析是什么?个人版和企业版有什么区别?
- 使用Scratch2和ROS进行机器人图形化编程学习
- R语言 | 编写自己的函数
- 完整的SEO团队应该包括哪些人员(细分八要职)
- HC32L系列MCU在KEIL新建工程后在JLINK 下 SW Device下找不到设备的解决方法
- 知识图谱在金融领域的应用
热门文章
- 罕见类加载冲突问题:LinkageError
- 某X建工OA系统上传附件插件丢失的问题解决方案
- 小六的搜索笔记(转)
- layabox - 龙骨动画
- php限制文件类型,限制上传文件类型程序代码_PHP教程
- linux赋予文件夹所有权限_linux赋予用户文件夹权限
- python怎么遍历文件夹内的删除文件_python遍历文件夹并删除特定格式文件的示例...
- DVWA靶场--文件上传漏洞(low、medium、high等级)
- 中南财经政法大学大学21年计算机考研情况 专硕进复试平均分343.4分
- 记一款bug管理系统(bugdone.cn)的开发过程(1) -- 为什么要开发一款bug开发系统