<?php
$current = array(
750 => 2,
1000 => 1.3,
2000 => 1.2,
3000 => 1.1,
4000 => 1.0,
5000 => 0.9,
6000 => 0.8,
10000 => 0.75,
);
function update($current) {
$tiers = array(
0 => 3.5,
250 => 3.5,
500 => 3.5,
750 => 3,
);
krsort($current);
$prev = 0;
foreach($current as $range => $spread) {
if ( $range < 1000 )
continue;
if ( $range >= 1000 && $range <= 5000 && $spread <= 1.1 )
$spread += 0.4;
$prev = $tiers[$range] = max($spread, $prev);
}
ksort($tiers);
return $tiers;
}
var_dump($current);
var_dump(update($current));
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 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.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
- array(8) {
[750]=>
int(2)
[1000]=>
float(1.3)
[2000]=>
float(1.2)
[3000]=>
float(1.1)
[4000]=>
float(1)
[5000]=>
float(0.9)
[6000]=>
float(0.8)
[10000]=>
float(0.75)
}
array(11) {
[0]=>
float(3.5)
[250]=>
float(3.5)
[500]=>
float(3.5)
[750]=>
int(3)
[1000]=>
float(1.5)
[2000]=>
float(1.5)
[3000]=>
float(1.5)
[4000]=>
float(1.4)
[5000]=>
float(1.3)
[6000]=>
float(0.8)
[10000]=>
float(0.75)
}
preferences:
252.94 ms | 406 KiB | 394 Q