本文实例讲述了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
相关文章:
模具网站制作流程,如何找模具客户?
PHP正则匹配日期和时间(时间戳转换)的实例代码
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
宝塔建站无法访问?如何排查配置与端口问题?
微信小程序 input输入框控件详解及实例(多种示例)
如何在Golang中使用replace替换模块_指定本地或远程路径
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
如何用PHP工具快速搭建高效网站?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
Thinkphp 中 distinct 的用法解析
如何通过.red域名打造高辨识度品牌网站?
宝塔面板如何快速创建新站点?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
实现虚拟支付需哪些建站技术支撑?
h5网站制作工具有哪些,h5页面制作工具有哪些?
如何确保西部建站助手FTP传输的安全性?
如何有效防御Web建站篡改攻击?
如何选择靠谱的建站公司加盟品牌?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
如何快速重置建站主机并恢复默认配置?
MySQL查询结果复制到新表的方法(更新、插入)
C#如何序列化对象为XML XmlSerializer用法
建站之星收费标准详解:套餐费用及年费价格表一览
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
建站之星上传入口如何快速找到?
网站制作网站,深圳做网站哪家比较好?
黑客入侵网站服务器的常见手法有哪些?
如何快速搭建高效可靠的建站解决方案?
广德云建站网站建设方案与建站流程优化指南
中山网站推广排名,中山信息港登录入口?
济南专业网站制作公司,济南信息工程学校怎么样?
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何配置WinSCP新建站点的密钥验证步骤?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
广东企业建站网站优化与SEO营销核心策略指南
建站之星如何实现五合一智能建站与营销推广?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
建站主机选购指南:核心配置与性价比推荐解析
建站之星后台密码如何安全设置与找回?
微信推文制作网站有哪些,怎么做微信推文,急?
海南网站制作公司有哪些,海口网是哪家的?
如何在景安云服务器上绑定域名并配置虚拟主机?
深入理解Android中的xmlns:tools属性
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
微信h5制作网站有哪些,免费微信H5页面制作工具?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。