多维数组如何根据指定键值?比如现在有数组结构如下:

$data = array(
0 => array('name' => '1班','avgScore'=>90,'subject' => 'math'),
1 => array('name' => '2班','avgScore'=>60,'subject' => 'math'),
2 => array('name' => '3班','avgScore'=>88,'subject' => 'math' ),
);

如何把它变成:

$data = array(
0 => array('name' => '1班','avgScore'=>,'subject' => 'math'),
1 => array('name' => '3班','avgScore'=>88,'subject' => 'math'),
2 => array('name' => '2班','avgScore'=>60,'subject' => 'math'),
);

1、array_multisort()

可使用 array_multisort()函数排序,

function mySort($arr = array(),$sort_by){
foreach($arr as $k => $v){
$avgScore[$k] = $v[$sort_by];
}
array_multisort($avgScore, SORT_DESC, $arr);
return $arr;
} echo "<pre>";
print_r(mySort($data),'avgScore');

输出:

$data = array(
0 => array('name' => '1班','avgScore'=>,'subject' => 'math'),
1 => array('name' => '3班','avgScore'=>88,'subject' => 'math'),
2 => array('name' => '2班','avgScore'=>60,'subject' => 'math'),
);

最新文章

  1. iOS开发系列--UITableView全面解析
  2. PHP写时复制, 变量复制和对象复制不同!!!
  3. [转载]有了 malloc/free 为什么还要 new/delete ?
  4. 网页爬虫--scrapy入门
  5. 苹果教你六招:设计优秀的icon
  6. 批量将文件转换为UTF-8无BOM格式
  7. 在JavaScript的数组中进行数组元素查找和替换(JS的indexOf等)
  8. Server对象(是属性)
  9. Python mysqldb模块
  10. 使用Redmine的PHP API时,如何判断需求是否为原子需求
  11. postMessage 实现跨源通信 iframe 跨域获取url
  12. Linux/CentOS下安装MySql RPM Bundle
  13. 七层负载(Application Gateway)+四层负载(LB)
  14. linux命令之scp
  15. 如何快速编写和调试 Emit 生成 IL 的代码
  16. 使用AutoFac实现依赖注入(封装一个注册类)
  17. Eclipse NDK 打印LOG信息(都在jni目录下操作)
  18. 杂项-公司:联邦快递百科-un
  19. mysql主从复制数据库
  20. Java排序算法(二)

热门文章

  1. Find the Clones Trie Tree
  2. js 清空对象\删除对象的属性
  3. 从编程的角度理解gradle脚本﹘﹘Android Studio脚本构建和编程[魅族Degao]
  4. EditText焦点问题
  5. F5设备控制脚本
  6. Referenced file contains errors (http://www.springframework.org/schema/beans/spring-beans-3.0.xsd)
  7. “Parsing filters unsupported” error during extraction of RAR file
  8. Mybatis中resultMap的作用-解决实体类属性名和数据库字段不一致
  9. 数组map方法与如何使用ES5实现
  10. [OpenWrt]安装mjpg-streamer