首页 > 后端开发 > php教程 > 数据排序取最大值

数据排序取最大值

WBOY
发布: 2016-06-23 13:29:17
原创
1104 人浏览过

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
)

)


回复讨论(解决方案)

有什么问题?冒泡一下不就完了么。。。。

可以使用 usort http://php.net/manual/zh/function.usort.php 函数。

$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,  ),)
登录后复制

楼主的数组从5个元素变成了3个,这用排序能实现吗?
贴出代码瞧瞧!

有什么问题?冒泡一下不就完了么。。。。



可以使用 usort http://php.net/manual/zh/function.usort.php 函数。

楼主的数组从5个元素变成了3个,这用排序能实现吗?
贴出代码瞧瞧!


有什么问题?冒泡一下不就完了么。。。。



可以使用 usort http://php.net/manual/zh/function.usort.php 函数。


哈哈,看错了,我以为他要排序。
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板