- round: documentation ( source)
- floor: documentation ( source)
- max: documentation ( source)
- range: documentation ( source)
<?php
// user input of years - note it must be numeric
$ar = array(1944, 1674, 3021);
// find max year of the input for 'dynamic' approach
// note the unpacking of the array is not needed I do not think
// but does work - check performance
$maxCentury = max(...$ar);
// round max century to -3 (closest 1000)
$roundedCentury = round($maxCentury, -3);
foreach($ar as $year):
foreach(range(0, $maxCentury, 1000) as $century):
if(floor($year, -3) == $century): ?>
<li> <?= $century; ?>
<ul> <?= $year; ?> </ul>
</li>
<?php endif;
endforeach;
endforeach;