- array_reverse: documentation ( source)
- range: documentation ( source)
- str_pad: documentation ( source)
<?php
$number = 25;
$columnCount = 4;
for($i = 1, $loopCounter = 1; $i <= $number; $i = $i + $columnCount, $loopCounter++) {
$range = range($i, $i+$columnCount - 1);
if($loopCounter % 2 === 0) {
$range = array_reverse($range);
}
foreach($range as $n) {
echo str_pad($n, 2, ' ', STR_PAD_LEFT) . " ";
}
echo "\n";
}