数据排序取最大值

Hx_Moon_ 2015-08-04 02:01:17

Array
(
0 => Array
(
'id' => 1,
'level' => 6,
'layer' => 1
),

'1' => Array
(
'id' => 15055,
[level] => 5,
[layer] => 2
),

'2' => Array
(
'id' => 15056,
'level' => 5,
'layer' => 3
),

'3' => Array
(
'id' => 15057,
'level' => 4,
'layer' => 4
),

'4' => Array
(
'id' => 15058,
'level' => 4,
'layer' => 5
)

)

如果level 相等就取layer较大的那个数组
最后得到的结果是这样的:
Array
(
0 => Array
(
'id' => 1,
'level' => 6,
'layer' => 1
),



'1' => Array
(
'id' => 15056,
'level' => 5,
'layer' => 3
),



'2' => Array
(
'id' => 15058,
'level' => 4,
'layer' => 5
)

)
...全文
159 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
李睿_Lee 2015-08-04
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
楼主的数组从5个元素变成了3个,这用排序能实现吗? 贴出代码瞧瞧! [quote=引用 1 楼 Novolee 的回复:] 有什么问题?冒泡一下不就完了么。。。。
引用 2 楼 shiyj 的回复:
可以使用 usorthttp://php.net/manual/zh/function.usort.php 函数。
[/quote] 哈哈,看错了,我以为他要排序。
xuzuning 2015-08-04
  • 打赏
  • 举报
回复
楼主的数组从5个元素变成了3个,这用排序能实现吗? 贴出代码瞧瞧!
引用 1 楼 Novolee 的回复:
有什么问题?冒泡一下不就完了么。。。。
引用 2 楼 shiyj 的回复:
可以使用 usorthttp://php.net/manual/zh/function.usort.php 函数。
xuzuning 2015-08-04
  • 打赏
  • 举报
回复
$a = Array
(
    0 => Array
    (
        'id' => 1,
            'level' => 6,
            'layer' => 1
        ),
 
    '1' => Array
    (
        'id' => 15055,
        'level' => 5,
        'layer' => 2
    ),
 
    '2' => Array
    (
        'id' => 15056,
        'level' => 5,
        'layer' => 3
    ),
 
    '3' => Array
    (
        'id' => 15057,
        'level' => 4,
        'layer' => 4
     ),
 
    '4' => Array
    (
        'id' => 15058,
        'level' => 4,
        'layer' => 5
    )
 
);
$r = array();
foreach($a as $v) {
  if(! isset($r[$v['level']])) $r[$v['level']] = $v;
  if($r[$v['level']]['layer'] < $v['layer']) $r[$v['level']] = $v;
}
$r = array_values($r);
var_export($r);
array (
  0 =>   array (
    'id' => 1,
    'level' => 6,
    'layer' => 1,
  ),
  1 =>   array (
    'id' => 15056,
    'level' => 5,
    'layer' => 3,
  ),
  2 =>   array (
    'id' => 15058,
    'level' => 4,
    'layer' => 5,
  ),
)
他山玉 2015-08-04
  • 打赏
  • 举报
回复
可以使用 usorthttp://php.net/manual/zh/function.usort.php 函数。
李睿_Lee 2015-08-04
  • 打赏
  • 举报
回复
有什么问题?冒泡一下不就完了么。。。。
    目前数据分析已经深入到各个行业中,尤其以Python为工具的数据分析和数据挖掘将越来越流行,但在数据分析和挖掘中,最消耗时间的就是数据处理了,高效的数据处理技能已经成为工作中必不可少的技能之一了。熟练掌握和运用Python对数据进行高效的处理,可以大大提高数据分析和数据挖掘的效率。    Python数据处理实战: 基于真实场景的数据(Python数据处理和特征工程)作为Python数据清洗实战入门课程的升级版,本课程以真实的场景数据为案例进行教学,包括征信,电商,零售数据等, 本课程由浅入深详细讲解Python数据处理和特征工程在真实项目中的运用, 本课程专门针对想深入学习Python数据处理而量身定做的课程,是讲师在多年真实项目和实践工作的总结,涵盖实际项目中主要的知识点,内容详尽,代码可读性及实操性强。     掌握好数据处理和特征工程,有利于今后从事或者转行数据分析或者数据挖掘,以及解决工作和项目中遇到的各种数据处理问题。课程目标:1.熟悉数据处理的流程和方法 2.熟练掌握pandas和numpy的运用 3.举一反三,能够独立完成数据分析中数据处理阶段的任务 4.提高数据处理能力,在项目中能够事半功倍课程定位: 1.   零基础学员或者有一定基础学员、大中院校学生;2.   在职从事数据分析相关工作以及打算转行Python数据分析人员; 3.   对Python有兴趣人群。 课程特色   1.   相关代码老师课堂上全部打出,方便理解和记忆;   2.   提供源代码和数据方便同学们预习和复习;   3.   使用真实的数据进行教学,紧贴实战,避免枯燥的理论;   4.   在教学过程中,尽可能多的使用图表教学;  5.    每一个章节后面都配有相关练习题目以及习题答案,方便同学们进行自我测试。 课程学习环境: Python3.7版本 讲师介绍:    Peter, 某科技公司高级量化分析师,金融数学硕士毕业,擅长数据分析和数据挖掘,在公司长期从事机器学习建模,拥有多家银行,消费金融和互联网金融风控建模经验。熟练掌握Python编程软件和数据库等软件.

21,892

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧