php 数组 按拼音首字母 排序 并分组

2018年09月30日 11:18:59 王汪汪wsq 阅读数 995

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wsq926/article/details/82907035

PHP 数组 按照拼音 首字母 排序 并排序:

需要排序的数组 格式:

  1. $list = [

  2. [

  3. 'name' => '张三',

  4. 'py' => 'zhnagsan'

  5. ],

  6. [

  7. 'name' => '李四',

  8. 'py' => 'lisi'

  9. ],

  10. [

  11. 'name' => '王五',

  12. 'py' => 'wangwu'

  13. ],

  14. [

  15. 'name' => '赵六',

  16. 'py' => 'zhaoliu'

  17. ],

  18. ];

  19. $resault = data_letter_sort($list, 'py');

方法 代码 如下:

  1. /**

  2. * 按照 字母 分组 并 排序

  3. *

  4. * @param {Array} $list ; 需要 排序的 数据, 一维数组

  5. * @param {string} $field ; 排序 需要 依据 的字段,该字段 必须为 拼音

  6. */

  7. function data_letter_sort($list, $field) {

  8. $resault = array();

  9. foreach( $list as $key => $val ){

  10. // 添加 # 分组,用来 存放 首字母不能 转为 大写英文的 数据

  11. $resault['#'] = array();

  12. // 首字母 转 大写英文

  13. $letter = strtoupper( substr($val[$field], 0, 1) );

  14. // 是否 大写 英文 字母

  15. if( !preg_match('/^[A-Z]+$/', $letter) ){

  16. $letter = '#';

  17. }

  18. // 创建 字母 分组

  19. if( !array_key_exists($letter, $resault) ){

  20. $resault[$letter] = array();

  21. }

  22. // 字母 分组 添加 数据

  23. Array_push($resault[$letter], $val);

  24. }

  25. // 依据 键名 字母 排序,该函数 返回 boolean

  26. ksort($resault);

  27. // 将 # 分组 放到 最后

  28. $arr_last = $resault['#'];

  29. unset($resault['#']);

  30. $resault['#'] = $arr_last;

  31. return $resault;

  32. }

js 数组 按拼音 首字母排序 并分组:点击连接查看

php 数组 按拼音首字母 排序 并分组相关推荐

  1. php 数组根据字母排序,php 数组 按拼音首字母 排序 并分组

    PHP 数组 按照拼音 首字母 排序 并排序: 需要排序的数组 格式: $list = [ [ 'name' => '张三', 'py' => 'zhnagsan' ], [ 'name' ...

  2. js 按拼音 首字母 排序 并分组

    js 按拼音 首字母 排序 并分组,二话不说 直接上代码: var list = [     {         'name' : '张三',         'py' : 'zhnagsan'   ...

  3. 按拼音首字母排序并分组

    把返回的数据,按照拼音首字母排序,并分组,在此记录一下,我也是通过百度,然后修改成自己要的数据类型. 方法一:所有手机都可用,小程序中也可用,app中亦可用 首先建立一个js文件,代码如下 let P ...

  4. php 汉字按字母排序,在PHP中,将一个汉字数组按照拼音首字母进行排序

    (之前发的这篇博文因为含有敏感关键字,只好重发一遍了) $str = "我们可以在浏览器中看到,当鼠标移到元素上时,元素开始向右移动,开始比较慢,之后则比较快,移开时按原曲线回到原点.&qu ...

  5. 汉字按拼音首字母排序

    按拼音首字母排序 localeCompare() 方法返回一个数字来指示一个参考字符串是否在排序顺序前面或之后或与给定字符串相同. 返回一个数字表示是否 引用字符串 在排序中位于 比较字符串 的前面, ...

  6. js根据汉字拼音首字母排序分组

    最近有一个需求,就是做一个类似通讯录的玩意.这里其实前端的话网上挺多轮子的,直接改改就好了,但是有一点就是在得到汉字之后如何根据拼音的首字母排序并且分组就是一个小问题,当然解决起来也是挺简单的啰.由于 ...

  7. 联系人按照拼音首字母排序

    这几天因为项目需要,要做一个仿小米拨号UI,因为小米拨号盘界面是显示通话记录和所有联系人信息的,在测试的过程中,测试部门反馈拨号盘显示的联系人杂乱没有规律,应该按照拼音首字母排序,问题提出来了以后,我 ...

  8. 中文按拼音首字母排序的C++实现方案

    先介绍下背景,最近有个需求,需要将用户的好友列表按照昵称的拼音首字母排序,类似于手机电话簿的联系人.一开始建议让终端同学去做这点,毕竟终端现有的电话簿模块已经实现了,不过终端同学说电话簿是系统组件,移 ...

  9. Java 按照拼音首字母排序

    默认的 Collection.sort() 是按照 ASCII 码排序, 不过, 有第二个重载方法, 第二个参数可以传入 Comparator 对象 java.text.Collator 可以用于本地 ...

最新文章

  1. Kafka Zero-Copy 使用分析
  2. bzoj3156 防御准备 - 斜率优化
  3. 可怕的乖孩子_当今的中国,有句很可怕的话:所有的乖孩子注定不幸福!
  4. 安装程序集'' policy.8.0.microsoft.vc80.atl,type=''win32-
  5. android 手机 跑分榜,安兔兔跑分最新排行图 2020年4月Android手机性能榜
  6. java语言的技术可行性_可行性分析的主要内容( )。
  7. 量子计算机拓扑超导新状态,陈根:特殊超导体,有助于量子计算机运行
  8. 欧美民用航空器 DO-178B标准
  9. “敏捷开发”怎么就“敏捷”了
  10. 六石管理学:从再生人有没有优势,谈软件开发
  11. R pdf大小_PDF如何压缩?这两招教您快速压缩PDF!
  12. java 汉字 拼音排序_Java字符串按照汉语拼音排序
  13. 使用ffpemg无损快速从视频中提取音频的操作教程(记录笔记超详细)
  14. java 天猫项目_2018最新Java前后端练手项目【模仿天猫前端】
  15. vue使表头文字居中,表格某一列文字左对齐的方式
  16. 33幅精美的拿铁图案摄影作品欣赏
  17. 【小程序自定义组件,冒泡,自定义导航栏,页面栈】
  18. idl结果显示窗口如何缩小_使用IDL的12个小技巧
  19. 教主黄仁勋亮相GTC China:英伟达已售出15亿块GPU!重磅发布TensorRT 7
  20. Linux运维提升之路

热门文章

  1. vue v-model 双向绑定表单元素的数据:实质是绑定了value、checked、selected属性
  2. 剑指 Offer II 017. 含有所有字符的最短字符串
  3. 用计算机弹奏全球变冷,《全球变冷,钢琴谱》许嵩(五线谱 钢琴曲 指法)-弹吧|蛐蛐钢琴网...
  4. 用人工智能做广告,它成为第一家走上IPO的人工智能企业
  5. 计算机网络技术主要课程阐述,计算机网络技术专业实训课程体系研究
  6. 接口的方式获取bing必应每天壁纸
  7. PyTorch(二次元头像--GAN实战)
  8. 华为路由及静态路由的配置
  9. [iOS]高德地图SDK开发--准备篇
  10. python 接入百度地图数据包下载_Python爬虫-利用百度地图API接口爬取数据并保存至MySQL数据库...