@@ 52-76 (lines=25) @@ | ||
49 | * |
|
50 | * @return array |
|
51 | */ |
|
52 | private function aggregatedValues(string $header): array |
|
53 | { |
|
54 | $values = []; |
|
55 | foreach (explode(',', $header) as $headerValue) { |
|
56 | $headerValueParts = explode(';', $headerValue); |
|
57 | $locale = trim(array_shift($headerValueParts)); |
|
58 | $attributes = []; |
|
59 | foreach ($headerValueParts as $attribute) { |
|
60 | list($attributeKey, $attributeValue) = explode('=', $attribute); |
|
61 | $attributes[trim($attributeKey)] = trim($attributeValue); |
|
62 | } |
|
63 | ||
64 | if (!isset($attributes['q'])) { |
|
65 | $attributes['q'] = '1.0'; |
|
66 | } |
|
67 | ||
68 | $values[$locale] = $attributes; |
|
69 | } |
|
70 | ||
71 | uasort($values, function (array $a, array $b) { |
|
72 | return $b['q'] <=> $a['q']; |
|
73 | }); |
|
74 | ||
75 | return $values; |
|
76 | } |
|
77 | ||
78 | /** |
|
79 | * @param array $aggregatedValues |
@@ 52-76 (lines=25) @@ | ||
49 | * |
|
50 | * @return array |
|
51 | */ |
|
52 | private function aggregatedValues(string $header): array |
|
53 | { |
|
54 | $values = []; |
|
55 | foreach (explode(',', $header) as $headerValue) { |
|
56 | $headerValueParts = explode(';', $headerValue); |
|
57 | $mediaType = trim(array_shift($headerValueParts)); |
|
58 | $attributes = []; |
|
59 | foreach ($headerValueParts as $attribute) { |
|
60 | list($attributeKey, $attributeValue) = explode('=', $attribute); |
|
61 | $attributes[trim($attributeKey)] = trim($attributeValue); |
|
62 | } |
|
63 | ||
64 | if (!isset($attributes['q'])) { |
|
65 | $attributes['q'] = '1.0'; |
|
66 | } |
|
67 | ||
68 | $values[$mediaType] = $attributes; |
|
69 | } |
|
70 | ||
71 | uasort($values, function (array $a, array $b) { |
|
72 | return $b['q'] <=> $a['q']; |
|
73 | }); |
|
74 | ||
75 | return $values; |
|
76 | } |
|
77 | ||
78 | /** |
|
79 | * @param array $aggregatedValues |