多维关联数组---按其中的一对值来排序

例子:

$arr = [

[‘ss‘=>4,‘name‘=>‘我‘],

[‘ss‘=>1,‘name‘=>‘b‘],

[‘ss‘=>2,‘name‘=>‘c‘],

[‘ss‘=>7,‘name‘=>‘a‘],

[‘ss‘=>3,‘name‘=>‘你‘]

];

比如我要按name的值来排序,按拼音升序排序

效果:

解决方法:

function tt($n){

  return $n[‘name‘];

}

$arr1 = array_map(‘tt‘,$arr);//或者这样写(就不用上面的函数tt()了),   $arr1 = array_map(create_function(‘$n‘,‘return $n["name"] ;‘),$arr);

array_multisort($arr1,$arr);

dump($arr);//搞定

原文地址:https://www.cnblogs.com/youjianjiangnan/p/9542033.html

时间: 2024-10-13 07:55:49

多维关联数组---按其中的一对值来排序的相关文章

多维关联数组排序问题

业务需求:学生成绩需要从不同的数据表中读出,计算总分之后需要按着成绩降序排列,同时数据又是关联数组,从而无法直接进行相关排序,从而需要先将需要排序的字段从数组中分离出来,然后使用array_multisort()函数进行排序操作: 举例如下: (1)分离排序字段 foreach ($userInfo as $key=>$val){ $userId[$key] = $val['uid']; $totalScore[$key] = $val['total_score']; } (2)按着total_

对一个给定的二维数组按照指定的键值进行排序

public function set_s(){ $arr = [ ['one' => 6,'two' => 19], ['one' => 36,'two' => 3], ['one' => 26,'two' => 3], ['one' => 2,'two' => 84], ['one' => 5,'two' => 35], ['one' => 6,'two' => 56], ['one' => 7,'two' => 7]

js实现的对象数组根据对象的键值进行排序代码

有时候会遇到做展示数组的排序,由大到小和由小到大的切换: var arr=[{id:1,webName:"蚂蚁部落"},{id:2,webName:"网易"}]; function done(key,desc) {   return function(a,b){     //return desc ? ~~(parseInt(a[key]) < parseInt(b[key])) : ~~(parseInt(a[key]) > parseInt(b[ke

关联数组和顺序数组的应用场景

简而言之:   关联数组:   适用:根据给定的条件,即键值,快速搜索   不适用:排序,尤其对于维数较多的关联数组   eg: $arr[$key1][$key2][$key3] 根据$key3对该数组进行排序 顺序数组:   适用:排序   不适用:根据给定的条件,快速搜索 结论:应该根据条件选择合适类型的数组

smarty访问数组中的数据,如果是关联数组直接用点.

$tpl=new Smarty();//新建一个smarty对象,我使用的是Smarty-3.1.6版本 1.设置smarty模板路径$tpl->setTemplateDir():默认情况下是templates 2.设置smarty模板编译路径$tpl->setCompileDir();默认情况下是templates_c 3.设置smarty模板引擎的左右 分隔符, $tpl->left_delimiter="<{";        $tpl->right

***php 数组添加关联元素的方法小结(关联数组添加元素)

我们这里介绍的是在数组中再增加关联数组了,这个就合成了多维数组,下面我来给大家举几个实例,希望对各位同学会有所帮助哈. 在"php 数组添加元素方法总结这篇文章中介绍了如何给数组添加元素,那么我想添加$array=array('title'=>'php教程')这样的元素怎么办呢. array_push, array_pop, array_shift, array_unshift 这几个函数都是为数字类型的索引数组设计的. 要想实现关联数组的添加可以使用array_merge方法或者是+操作

结对开发之返回一个二维整数数组中最大联通子数组的和

一.题目要求 输入一个二维整形数组,数组里有正数也有负数.二维数组首尾相接,象个一条首尾相接带子一样.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n)题目:返回一个二维整数数组中最大子数组的和 二.解题思路 先对二维数组进行了重构,形成一个环状二维数组,然后再用求二维数组子矩阵最大和的方法求得最终结果. 三.程序代码 2 #include<iostream.h> 3 int main(int argc, char* argv[]

js 关联数组

踩得坑: JS ,通过 new Array()创建了一个数组: var param =  new Array();param["key1"] = value1;param["key2"] = value2;param["key3"] = value3; 打印  param.length 时 一直为0; 发现: js关联数组的属性:length,其数值记录的是key为整数的元素个数 当某元素key为字符串的时候,不计入length中. 办法: Ob

返回一个二维整数数组中最大联通子数组的和

题目: 输入一个二维整形数组,数组里有正数也有负数. 求所有子数组的和的最大值. 要求: 两人结对完成编程任务. 一人主要负责程序分析,代码编程. 一人负责代码复审和代码测试计划. 发表一篇博客文章发表一篇博客文章讲述设计思想,出现的问题,可能的解决方案(多选).源代码.结果截图.总结. 思想: 在看到本题目后,想了很久也没有想到比较满意的解决方法,觉得题目比较难,超出了我的能力范围.不过,个人认为可能用到了图论的知识,但是学的不好.根据上图给定的二维数组求解最大联通数组也许比较简单.以一个非负