比如说我们现在有一个二维数组:

$arr = array(
‘d' => array(‘id' => 5, ‘name' => 1, ‘age' => 7),
‘b' => array(‘id' => 2,'name' => 3,'age' => 4),
‘a' => array(‘id' => 8,'name' => 10,'age' => 5),
‘c' => array(‘id' => 1,'name' => 2,'age' => 2)
);

目标是针对于这个二维数组的每一项,根据他们的age来进行排序,排序过程中我们会使用到PHP内置的array_multisort() 函数:

function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){
if(is_array($multi_array)){
foreach ($multi_array as $row_array){
if(is_array($row_array)){
$key_array[] = $row_array[$sort_key];
}else{
return false;
}
}
}else{
return false;
}
array_multisort($key_array,$sort,$multi_array);
return $multi_array;
}

我们来看一下实例的处理结果:

echo “<pre/>”;
print_r(multi_array_sort($arr,'age'));exit;
//输出
Array
(
[c] => Array
(
[id] => 1
[name] => 2
[age] => 2
)
[b] => Array
(
[id] => 2
[name] => 3
[age] => 4
)
[a] => Array
(
[id] => 8
[name] => 10
[age] => 5
)
[d] => Array
(
[id] => 5
[name] => 1
[age] => 7
)
)

最新文章

  1. Apache 与 php的环境搭建
  2. jQuery Mobile案例,最近用Moon.Web和Moon.Orm做了一套系统
  3. imcs初探
  4. 纯css的防止图片撑破页面的代码(图片自动缩放)
  5. win7搭建web服务器
  6. android 入门-基础了解
  7. 改变WPF ListBoxItem的选中样式
  8. IE6下input标签border问题
  9. cmake简易教程
  10. Hadoop 相关问题
  11. 门面模式(Facade)解析
  12. php多态
  13. tox环境安装
  14. Xilinx的ISE14.7和PlanAhead与win10系统的兼容性问题解决方案
  15. LeetCode题解之Insert into a Binary Search Tree
  16. 【洛谷】【模拟+栈】P4711 「化学」相对分子质量
  17. ES系列十、ES常用查询API
  18. 基于pyQt5开发的股价显示器(原创)
  19. debian9安装mysql mariadb
  20. iOS开发 frame 与 bounds 的区别与关系 转自隔叶黄莺

热门文章

  1. ZOJ3944 People Counting ZOJ3939 The Lucky Week (模拟)
  2. ORACLE 常见错误
  3. Live YUV420 和 OpenCV Mat 的互相转换
  4. C和指针 第十五章 二进制I/O
  5. C和指针 第十五章 输入输出缓冲
  6. Reverse Integer LeetCode Java
  7. ubuntu 15.10 安装swift开发环境 2016/4/17
  8. Java的Json解析包FastJson使用
  9. rocketmq生产者和消费者
  10. Linux下安装流量监控工具iftop