php 中文按照拼音字母排序实现方式

汉字按首字母排序(JAVASCRIPT,PHP,MYSQL实现)

Posted on  2014-03-21 15:38  码农恋码 阅读( 8648) 评论( 0编辑  收藏

1.javascript实现

1    var a = ["啊","得啊_123","得啊_0124","波啊","婆"];
2    a.sort();                                              //原始数据排序      
3    a.sort(function(a,b){return a.localeCompare(b)});      //指定排序函数

   指定排序函数时,和当前系统的区域设置有关系,如果是按照别的区域设置排序,可改。firefox下通过,360不支持。

 

2. php实现

  1> 网络上很多php的工具类可以将汉字转为拼音;

  2> 将拼音进行排序即可

  另一种则是类似mysql转码方式:

复制代码
1     foreach ($array as $key=>$value)  
2     {  
3         $new_array[$key] = iconv('UTF-8', 'GBK', $value);  
4     }  
5     asort($new_array);  
6     foreach ($new_array as $key=>$value)  
7     {  
8         $array[$key] = iconv('GBK', 'UTF-8', $value);  
9     }  
复制代码

 

3.mysql实现

 如果当前数据库编码是utf-8,则进行转码,转为gbk,gbk默认汉字按照拼音排序存放:

1 SELECT * FROM USER ORDER BY convert(uname using gbk) ASC

如果当前编码为gbk则:

1 SELECTFROM USER ORDER BY uname ASC

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值