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 ))
有什么问题?冒泡一下不就完了么。。。。
可以使用 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 函数。