全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP实现二维数组根据key进行排序的方法

本文实例讲述了PHP实现二维数组根据key进行排序的方法。分享给大家供大家参考,具体如下:

在PHP中内置了很多对数组进行处理的函数,有很多时候我们直接使用其内置函数就能达到我们的需求,得到我们所想要的结果;但是,有的时候我们却不能通过使用内置函数实现我们的要求,这就需要我们自己去编写算法来对自己的想法进行实现。下面就讲述一下如何实现二维数组根据key进行排序。

实现方法:

<?php
/**
 * =======================================
 * Created by Zhihua_W.
 * Author: Zhihua_W
 * Date: 2016/11/26 0002
 * Time: 下午 2:43
 * Project: PHP开发小技巧
 * Power: 实现二维数组根据key进行排序
 * =======================================
 */
/**
 * 二维数组排序
 * @param array $arr 需要排序的二维数组
 * @param string $keys 所根据排序的key
 * @param string $type 排序类型,desc、asc
 * @return array $new_array 排好序的结果
 */
function array_sort($arr, $keys, $type = 'desc')
{
  $key_value = $new_array = array();
  foreach ($arr as $k => $v) {
    $key_value[$k] = $v[$keys];
  }
  if ($type == 'asc') {
    asort($key_value);
  } else {
    arsort($key_value);
  }
  reset($key_value);
  foreach ($key_value as $k => $v) {
    $new_array[$k] = $arr[$k];
  }
  return $new_array;
}
$arr = array(
  array(
    'name' => 'a',
    'sex' => 'm',
    'sort' => 5
  ),
  array(
    'name' => 'c',
    'sex' => 'm',
    'sort' => 8
  ),
  array(
    'name' => 'g',
    'sex' => 'm',
    'sort' => 3
  ),
  array(
    'name' => 'e',
    'sex' => 'w',
    'sort' => 6
  ),
  array(
    'name' => 'b',
    'sex' => 'w',
    'sort' => 2
  ),
);
//打印出原数组
print_r($arr);
//打印出排好序的数组
print_r(array_sort($arr,'name'));
?>

通过打印出的结果我们就可以看到,数组根据“name”进行排序。

//原数组
Array
(
  [0] => Array
    (
      [name] => a
      [sex] => m
      [sort] => 5
    )
  [1] => Array
    (
      [name] => c
      [sex] => m
      [sort] => 8
    )
  [2] => Array
    (
      [name] => g
      [sex] => m
      [sort] => 3
    )
  [3] => Array
    (
      [name] => e
      [sex] => w
      [sort] => 6
    )
  [4] => Array
    (
      [name] => b
      [sex] => w
      [sort] => 2
    )
)
//排序后数组
Array
(
  [2] => Array
    (
      [name] => g
      [sex] => m
      [sort] => 3
    )
  [3] => Array
    (
      [name] => e
      [sex] => w
      [sort] => 6
    )
  [1] => Array
    (
      [name] => c
      [sex] => m
      [sort] => 8
    )
  [4] => Array
    (
      [name] => b
      [sex] => w
      [sort] => 2
    )
  [0] => Array
    (
      [name] => a
      [sex] => m
      [sort] => 5
    )
)

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。


# PHP  # 二维数组  # key  # 排序  # PHP根据key删除数组中指定的元素  # PHP使用自定义key实现对数据加密解密的方法  # PHP实现向关联数组指定的Key之前插入元素的方法  # PHP 根据key 给二维数组分组  # php array_keys 返回数组的键名  # php array_key_exists() 与 isset() 的区别  # PHP array_key_exists检查键名或索引是否存在于数组中的实现方法  # PHP数组Key强制类型转换实现原理解析  # 程序设计  # 操作技巧  # 相关内容  # 就能  # 有很多  # 感兴趣  # 这就  # 给大家  # 更多关于  # 所述  # 小技巧  # 面向对象  # 如何实现  # 就可以  # 下午  # 对自己的  # 讲述了  # 内置了  # Created  # brush 


相关文章: 建站之星×万网:智能建站系统+自助建站平台一键生成  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  盐城做公司网站,江苏电子版退休证办理流程?  如何在云主机快速搭建网站站点?  ,石家庄四十八中学官网?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  建设网站制作价格,怎样建立自己的公司网站?  建站之星如何助力网站排名飙升?揭秘高效技巧  建站之星后台密码如何安全设置与找回?  Java解压缩zip - 解压缩多个文件或文件夹实例  定制建站哪家更专业可靠?推荐榜单揭晓  建站主机如何安装配置?新手必看操作指南  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  已有域名如何快速搭建专属网站?  如何在IIS服务器上快速部署高效网站?  Python文件管理规范_工程实践说明【指导】  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  建站主机选哪种环境更利于SEO优化?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  为什么Go需要go mod文件_Go go mod文件作用说明  定制建站方案优化指南:企业官网开发与建站费用解析  如何获取免费开源的自助建站系统源码?  如何用腾讯建站主机快速创建免费网站?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  如何用美橙互联一键搭建多站合一网站?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  怀化网站制作公司,怀化新生儿上户网上办理流程?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  临沂网站制作企业,临沂第三中学官方网站?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  在线制作视频的网站有哪些,电脑如何制作视频短片?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  内部网站制作流程,如何建立公司内部网站?  如何在局域网内绑定自建网站域名?  如何有效防御Web建站篡改攻击?  Swift中循环语句中的转移语句 break 和 continue  网站制作报价单模板图片,小松挖机官方网站报价?  如何在宝塔面板中修改默认建站目录?  建站VPS配置与SEO优化指南:关键词排名提升策略  如何彻底删除建站之星生成的Banner?  c# 在高并发场景下,委托和接口调用的性能对比  如何基于云服务器快速搭建个人网站?  建站之星如何防范黑客攻击与数据泄露?  建站主机默认首页配置指南:核心功能与访问路径优化  如何快速生成可下载的建站源码工具?  零基础网站服务器架设实战:轻量应用与域名解析配置指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。