public static function parseList($mimeList) { $types = explode(',', $mimeList); $result = array(); $sortQuality = array(); $sortIndex = array(); foreach ($types as $key => $mime) { try { $mediaType = new self(trim($mime)); $sortQuality[] = $mediaType->getQuality(); $sortIndex[] = $key; $result[] = $mediaType; } catch (InvalidArgumentException $e) { } } array_multisort($sortQuality, SORT_DESC, $sortIndex, SORT_ASC, $result); return $result; }