欢迎光临景诺科技软件开发淘宝店

进店请收藏,谢谢

php二维数组排序后获取最大值

PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。
自定义:

function array_sort($arr,$keys,$type='asc'){ //2维数组排序
	$keysvalue = $new_array = array();
	foreach ($arr as $k=>$v){
		$keysvalue[$k] = $v[$keys];
	}
	if($type == 'asc'){
		asort($keysvalue);
	}else{
		arsort($keysvalue);
	}
	reset($keysvalue);
	foreach ($keysvalue as $k=>$v){
		$new_array[$k] = $arr[$k];
	}
	return $new_array; 
} 

最近在做一个数据分析系统,需要用到各种排序,下面是一段排序:

//$re 为数据来源,二维数组
$re = $this->array_sort($re,'LV','desc');//排序
	foreach($re as $key=>$val){
		foreach ($val as $key2=>$val2){
			if($key2=="uid"){
			$count[] = $val2;//获取创建角色总数
			$lv[$val2][]=$re[$key]['LV'];//获取所有角色等级	
			}
				
		}
	}
	$count = array_count_values($count);	
	foreach($count as $key=>$val){
		M()->query("update mj_ad_count set create_juese = create_juese+".$val." where suid =".$key);
		echo M()->getLastSql();		
	}
	foreach($lv as $key =>$val){//等级排查找出最大值后写入统计
		foreach ($val as $key2=> $val2){
			if($key2==0){
				//$ls[$key][] = $val2;
				M()->query("update mj_ad_count set juese_leave = ".$val2." where suid =".$key);
				echo M()->getLastSql();	 
			}			
		}
	}

更多

本文固定链接: http://shanmao.me/webback/php/php-er-wei-shu-zu-pai-xu-hou-huo-qu-zui-da-zhi | 山猫的博客

该日志由 admin 于2013年07月24日发表在 php 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: php二维数组排序后获取最大值 | 山猫的博客