Report abuse

<?php

function numToStr($number) {
	$numMap = array(
		1 => 'One',
		2 => 'Two',
		3 => 'Three',
		4 => 'Four',
		5 => 'Five',
		6 => 'Six',
		7 => 'Seven',
		8 => 'Eight',
		9 => 'Nine',
		10 => 'Ten',
		11 => 'Eleven',
		12 => 'Twelve',
		13 => 'Thirteen',
		14 => 'Fourteen',
		15 => 'Fifteen',
		16 => 'Sixteen',
		17 => 'Seventeen',
		18 => 'Eigthteen',
		19 => 'Nineteen',
		20 => 'Twenty',
		30 => 'Thirty',
		40 => 'Forty',
		50 => 'Fifty',
		60 => 'Sixty',
		70 => 'Seventy',
		80 => 'Eighty',
		90 => 'Ninety',
		100 => 'One Hundred',
		200 => 'Two Hundred',
		300 => 'Three Hundred',
		400 => 'Four Hundred',
		500 => 'Five Hundred',
		600 => 'Six Hundred',
		700 => 'Seven Hundred',
		800 => 'Eight Hundred',
		900 => 'Nine Hundred'
	);
	
	if($number <= 20) {
		return $numMap[$number];
	} else if ($number > 20 && $number < 100) {
		return $numMap[substr($number, 0, 1) . 0] . '-' . $numMap[substr($number, 0, 1)];
	} else if ($number > 99 && $number <= 999) {
		if (substr($number, 1, 2) == 00) {
			return $numMap[substr($number, 0, 1) . 0 . 0];
		}
		elseif (substr($number, 1, 1) == 0) {
			return $numMap[substr($number, 0, 1) . 0 . 0] . ' and ' . $numMap[substr($number, 2, 1)];
		}
		elseif (substr($number, 1, 2) <= 20){
			return $numMap[substr($number, 0, 1) . 0 . 0] . ' and ' . $numMap[substr($number, 1, 2)];
		} else {
			return $numMap[substr($number, 0, 1) . 0 . 0] . ' and ' . $numMap[substr($number, 1, 1) . 0] . '-' .$numMap[substr($number, 2, 1)];
		}
	} else {
		// add algorithm to deal with big numbers...
	}
}


?>