<?php
$ANDROID_MAPPING_ARRAY =
array(1 => '1.0',
2 => '1.1',
3 => '1.5',
4 => '1.6',
5 => '2.0',
6 => '2.0.1',
7 => '2.1.x',
8 => '2.2.x',
9 => '2.3.2',
10 => '2.3.4',
11 => '3.0.x',
12 => '3.1.x',
13 => '3.2',
14 => '4.0.1',
15 => '4.0.4',
16 => '4.1.1',
17 => '4.2.2',
18 => '4.3',
19 => '4.4'
);
$userAgent = 'ZooskAndroid/142 (Linux; U; Android 4.4; en-US; XT1030; Build/SU2-3.3)';
$agentParts = explode(',', $userAgent);
foreach ($agentParts as $agentPart) {
$partInfo = explode('/', $agentPart);
if (count($partInfo) == 3) {
if (strcmp($partInfo[0], 'Android') == 0) {
$androidInfo[0] = $partInfo[0];
// case 81288: Lookup to map Android API version to Android OS version
$versionInfo = explode('.', $partInfo[2]);
if (!empty($versionInfo)) {
$androidInfo[1] = $ANDROID_MAPPING_ARRAY[$versionInfo[0]];
}
if (empty($androidInfo[1])) {
$androidInfo[1] = $partInfo[2];
}
if (count($androidInfo) > 1) {
break;
//return $androidInfo;
}
}
}
}
print_r($androidInfo);
- Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- Warning: Undefined variable $androidInfo in /in/RUWpn on line 51
- Output for 5.0.4 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33
- Notice: Undefined variable: androidInfo in /in/RUWpn on line 51
- Output for 7.3.32 - 7.3.33
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.3
- Notice: Undefined variable: androidInfo in /in/RUWpn on line 51
preferences:
331.51 ms | 402 KiB | 465 Q