用PHP自带函数对二维数组进行排序
2018-03-29 17:46
471 查看
经常会面临这样的需求,虽然有时候我们可以在数据库查询的时候,直接对数据进行排序,但还是无法满足日益复杂的业务需求。
这里边会用到两个函数
一个是array_column()函数,这个函数接受三个参数。详情参见这里
是从二维数组中抽出一个键的值,作为一个新的数组返回。
另一个是array_multisort()函数,这个函数是一个排序函数,详情参见这里它会依照第一个参数数组的排序规则,依照第一个参数数组的值在第三个参数重的位置对第三个参数进行排序。听不明白吧?听不明白就对了,还是直接看代码来的实在:
$orgin = array(
array(
'id' => 5698,
'first_name' => 'Bill',
'last_name' => 'Gates',
),
array(
'id' => 4767,
'first_name' => 'Steve',
'last_name' => 'Jobs',
),
array(
'id' => 3809,
'first_name' => 'Mark',
'last_name' => 'Zuckerberg',
)
);
$idArr = array_column($orgin, 'id');
array_multisort($idArr,SORT_ASC,$orgin);
var_dump($orgin);这个打印的结果是:array (size=3)
0 =>
array (size=3)
'id' => int 3809
'first_name' => string 'Mark' (length=4)
'last_name' => string 'Zuckerberg' (length=10)
1 =>
array (size=3)
'id' => int 4767
'first_name' => string 'Steve' (length=5)
'last_name' => string 'Jobs' (length=4)
2 =>
array (size=3)
'id' => int 5698
'first_name' => string 'Bill' (length=4)
'last_name' => string 'Gates' (length=5)这下是不是就明朗的多了?
这里边会用到两个函数
一个是array_column()函数,这个函数接受三个参数。详情参见这里
是从二维数组中抽出一个键的值,作为一个新的数组返回。
另一个是array_multisort()函数,这个函数是一个排序函数,详情参见这里它会依照第一个参数数组的排序规则,依照第一个参数数组的值在第三个参数重的位置对第三个参数进行排序。听不明白吧?听不明白就对了,还是直接看代码来的实在:
$orgin = array(
array(
'id' => 5698,
'first_name' => 'Bill',
'last_name' => 'Gates',
),
array(
'id' => 4767,
'first_name' => 'Steve',
'last_name' => 'Jobs',
),
array(
'id' => 3809,
'first_name' => 'Mark',
'last_name' => 'Zuckerberg',
)
);
$idArr = array_column($orgin, 'id');
array_multisort($idArr,SORT_ASC,$orgin);
var_dump($orgin);这个打印的结果是:array (size=3)
0 =>
array (size=3)
'id' => int 3809
'first_name' => string 'Mark' (length=4)
'last_name' => string 'Zuckerberg' (length=10)
1 =>
array (size=3)
'id' => int 4767
'first_name' => string 'Steve' (length=5)
'last_name' => string 'Jobs' (length=4)
2 =>
array (size=3)
'id' => int 5698
'first_name' => string 'Bill' (length=4)
'last_name' => string 'Gates' (length=5)这下是不是就明朗的多了?
相关文章推荐
- PHP对根据某字段对二维数组进行排序函数
- php usort 使用用户自定义的比较函数对二维数组中的值进行排序
- php-Arrays 函数-array_multisort-对多个数组或多维数组进行排序
- PHP 的二维数组,按照某个键的值进行排序
- (PHP实现剑指offer)在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- php实现二维数组排序array_multisort($ages, SORT_DESC, $home)函数
- 一个PHP二维数组排序的函数分享
- 不使用PHP内置排序函数对二维数组实现快速排序的面试题
- PHP实现二维数组按某列进行排序的方法
- PHP二维数组排序函数
- php对二维数组进行相关操作(排序、转换、去空白等)
- php对二维数组进行相关操作(排序、转换、去空白等)
- php二维数组排序函数
- 一个PHP二维数组排序的函数分享
- PHP 对(高)二维数组基于第二维度某个元素对第一维度进行排序
- php 二维数组排序比较 3 —— php默认函数排序法 分类: php 二维数组排序 2014-06-24 11:45 188人阅读 评论(0) 收藏
- PHP - Manual手册 - V. Array 数组函数 - array_multisort对多个数组或多维数组进行排序
- php三种方式对二维数组进行花样排序
- PHP 对一个给定的二维数组按照指定的键值进行排序
- PHP二维数组根据某一个字段进行排序