# How to convert Digits or numbers to word using PHP?

Here is the code to convert digits to word using PHP

Example:

564 : five hundred sixty four

```1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 <?php \$ones = array( "", " one", " two", " three", " four", " five", " six", " seven", " eight", " nine", " ten", " eleven", " twelve", " thirteen", " fourteen", " fifteen", " sixteen", " seventeen", " eighteen", " nineteen" );   \$tens = array( "", "", " twenty", " thirty", " forty", " fifty", " sixty", " seventy", " eighty", " ninety" );   \$triplets = array( "", " thousand", " million", " billion", " trillion", " quadrillion", " quintillion", " sextillion", " septillion", " octillion", " nonillion" );   // recursive fn, converts three digits per pass function convertTri(\$num, \$tri) { global \$ones, \$tens, \$triplets;   // chunk the number, ...rxyy \$r = (int) (\$num / 1000); \$x = (\$num / 100) % 10; \$y = \$num % 100;   // init the output string \$str = "";   // do hundreds if (\$x > 0) \$str = \$ones[\$x] . " hundred";   // do ones and tens if (\$y < 20) \$str .= \$ones[\$y]; else \$str .= \$tens[(int) (\$y / 10)] . \$ones[\$y % 10];   // add triplet modifier only if there // is some output to be modified... if (\$str != "") \$str .= \$triplets[\$tri];   // continue recursing? if (\$r > 0) return convertTri(\$r, \$tri+1).\$str; else return \$str; }   // returns the number as an anglicized string function convertNum(\$num) { \$num = (int) \$num; // make sure it's an integer   if (\$num < 0) return "negative".convertTri(-\$num, 0);   if (\$num == 0) return "zero";   return convertTri(\$num, 0); }   // Returns an integer in -10^9 .. 10^9 // with log distribution function makeLogRand() { \$sign = mt_rand(0,1)*2 - 1; \$val = randThousand() * 1000000 + randThousand() * 1000 + randThousand(); \$scale = mt_rand(-9,0);   return \$sign * (int) (\$val * pow(10.0, \$scale)); }   // example of usage echo "564 : ".convertNum(564)."<br>"; echo "892 : ".convertNum(892); ?>```

Output:

```1 2 564 : five hundred sixty four 892 : eight hundred ninety two```

### 12 Responses to “How to convert Digits or numbers to word using PHP?”

Plz 31852297.00 means in Indian ways Three Crores Eighteen Lakhs Fifty Two Thoudand Two Hundred Ninty Seven only

Plz help me.

Regards
Manas

2. echo “564 : “.convertNum(10000000000);

Output : one billion four hundred ten million sixty five thousand four hundred eight

3. not working when i enter number is 566560 it shows me wrong result

4. nice – helped to convert numeric date to text date