I know that I can use some weird library to do this, but that's not fun, and I don't actually learn anything. I wrote a small function that is supposed to work up to 99, but it only works with integers 0-19. What's wrong with the script that returns the words for 20-99? It doesn't return false. It just returns nothing. Thanks.
Code:
<?
function intnum($integer) {
if (is_int($integer)) {
$num_array = array("zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine");
$irreg = array("ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen");
$double_digit = array("twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety");
if (strlen($integer) == 1){
return $num_array[$integer];
} elseif ($integer >=10 && $integer <= 19) {
return $irreg[$integer - 10];
} elseif (strlen($integer) == 2){
return $double_digit[$integer{0} - 2] . " " . $num_array[$integer{1}];
}
} else {
return false;
}
}
echo intnum(54);
?>