public static function GetRaids($CharacterGUID, $Expansion, $Heroic) { $Raids = Raids::DataByExpansion($Expansion); $SingleBoss = array(); $MultiBoss = array(); foreach ($Raids['bosses'] as $Key => $Value) { if (is_array($Raids['bosses'][$Key])) { $MultiBoss[$Key] = Raids::GetNormalRaidsManyBosses($CharacterGUID, $Expansion, $Key, $Raids['bosses'][$Key], $Raids['criteria'][$Key], $Heroic); } else { $SingleBoss[$Key] = Raids::GetNormalRaidsOneBoss($CharacterGUID, $Expansion, $Key, $Raids['bosses'][$Key], $Raids['criteria'][$Key], $Heroic); } } $CombinedArray = array_merge($SingleBoss, $MultiBoss); $FinalArray = array(); foreach ($Raids['bosses'] as $Key => $Value) { foreach ($CombinedArray as $Instance) { if ($Key == $Instance['data']['instance']) { $FinalArray[$Key] = $Instance; } } } return $FinalArray; }