<?php
function numToOrdinalWord($num)
{
$first_word = array('eth', 'First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth',
'Seventh', 'Eighth', 'Ninth', 'Tenth', 'Eleventh', 'Twelfth', 'Thirteenth',
'Fourteenth', 'Fifteenth', 'Sixteenth', 'Seventeenth', 'Eighteenth',
'Nineteenth', 'Twentieth');
$second_word = array('', '', 'Twenty', 'Thirty', 'Forty', 'Fifty', 'Sixty', 'Seventy', 'Eighty', 'Ninety');
if ($num <= 20) return $first_word[$num];
$first_num = substr($num, -1, 1);
$second_num = substr($num, -2, 1);
return $string = str_replace(
'y-eth',
'ieth',
$second_word[$second_num] . '-' . $first_word[$first_num]
);
}
for($i = 0; $i < 100; $i++)echo numToOrdinalWord($i) . PHP_EOL;
preferences:
44.1 ms | 402 KiB | 5 Q