3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?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;
based on jdLaP
Output for 5.6.0 - 7.3.0alpha1
Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16 <li> 0 <ul> 1944 </ul> </li> Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16 Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16 Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16 Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16 <li> 0 <ul> 1674 </ul> </li> Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16 Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16 Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16 Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16 <li> 0 <ul> 3021 </ul> </li> Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16 Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16 Warning: floor() expects exactly 1 parameter, 2 given in /in/2UIHq on line 16