本文实例讲述了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小时内与您取得联系。