Вообще-то так не делают. Вернее делают не всегда. ;-) Почему? Объясню:
А что, если тебе понадобится не четырехзначное число, а пяти (шести....) Будешь скрипт заново переписывать с нуля? Именно так и получится!
Делается так:
Например есть число 12345678
1) Делишь число на группы по три знака, начиная с конца! (12 345 678)
2) Делаешь функцию, которая смотрит три символа и делит их на сотни и десятки (6 78), берет сотни и говорит их прописью (шестьсот)
3) Делаешь функцию, которая смотрит на три символа и делит их на сотни и десятки (как и предыдущая), но берет десятки (78). Смотрит, если они от 1 до 19, то выбирает их из списка:
if($val==1)
{
return "один";
}
...
if($val==19
{
return "девятнадцать";
}
Ну а если больше 19, то берет сначала первую (7) и говорит прописью (семьдесят), берет вторую и говорит ее прописью (восемь). Все это он выбирает из такого же списка if\'ов.
Результат: шестьсот семьдесят восемь.
4) Запускаешь сначала первый трояк цифр и записываешь результаты вышеизложенных функций в строку (например $prop). Берешь следующий трояк и приписываешь их в начало строки $prop (например так: $prop=результат." ".$prop), но после них говоришь "тысяч,"тысяча", "тысячи" (смотря по контексту). И так далее по троякам, но пишешь миллионы, миллиарды.... Сколько хош ;-)
Подумай! Если сможешь сделать сотни и тысячи, то дальше останется ерунда (небольшая доработка текста), а смысла от такого скрипта больше.
Если надо расскажу как это все написать.