//TOP50
public static function getTOP50 ($fromTime='',$endTime='',$type='warAllNum' ) {
$fromTime = str_replace("-", "", substr($fromTime, 0, 10));
$endTime = str_replace("-", "", substr($endTime, 0, 10));
$data = self::getDayCount($fromTime,$endTime);
$type_A = array('warAllNum','warWinNum','warFailNum','killNum','deadNum') ;
if(!in_array($type,$type_A)) return false;
$result = array_column_sort($data, "$type", $sortDirection = SORT_DESC) ;
$result = array_slice($result,0,50);
return $result;
} -----------------------------------
按照$type进行排序,$type是array格式,
$type_A = array('warAllNum','warWinNum','warFailNum','killNum','deadNum') ;
if(!in_array($type,$type_A)) return false;
$result = array_column_sort($data, "$type", $sortDirection = SORT_DESC) ;//按照$type排序==========================================================================================
----------------------------------------------------------------------------
public static function showbattleresult($ifuser = 1, $starttime = 0, $endtime = 0, $ifwin = 1){
$returnarr = array();//提前定义可以提高执行效率
$sqladd= "";
$column = $ifuser ? "userid" : "union_id";
$starttime && $sqladd = " and time >=" . $starttime;
$endtime && $sqladd .= " and time <=" . $endtime;
$sql = "SELECT $column, activearmy_id, count( * ) as num
FROM `tb_log_activearmy`
WHERE outcome=" . $ifwin . " " . $sqladd . "
GROUP BY $column, `activearmy_id`";
// return $sql;
$ret = mysql_query($sql);
while($row = mysql_fetch_assoc($ret)){
$returnarr[$row[$column]][$row['activearmy_id']] = $row['num'];
$returnarr[$row[$column]]['total'] = isset($returnarr[$row[$column]]['total']) ? $returnarr[$row[$column]]['total'] + $row['num'] : $row['num'];
$returnarr[$row[$column]]['id'] = $row[$column];
}
return $returnarr;
}
-------------------------------------------前提:表里面同时有这两个字段,切换用户id,和联盟id:$column = $ifuser ? "userid" : "union_id";三元目运算