3v4l.org

run code in 300+ PHP versions simultaneously
<?php function getGridStepForValue(float $c, int $minCountLines): float { $config = [15, 5, 2, 1]; $n = ceil($c); $length = \strlen((string)$n); while ($length) { foreach ($config as $singleDivisor) { $nDivisor = (float)str_pad((string)$singleDivisor, $length, '0'); if ($n - ($nDivisor * $minCountLines) > 0) { return $nDivisor; } } $length--; } return getGridStepForValue($c * 10, $minCountLines) / 10; } var_dump(getGridStepForValue(1, 4), getGridStepForValue(1, 5));
Output for 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
float(0.2) float(0.1)

preferences:
144.72 ms | 403 KiB | 184 Q