Данная функция возвращает строку из числа
<?php // Функция парсирования триады // $num - целое число от 0 до 999 // $words - массив, в котором элемент с индексом // 0 - написание числа 1 (например - один', 'одна') // 1 - написание числа 2 (аналогично) // 2 - единицы в единственном числе им.падеже(рубль') // 3 - единицы в единственном числе род.падеже('рубля') // 4 - единицы во множественном числе им.падеже('рублей') function ParseTriad($num, $words) { $hundreds = array('', 'сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот'); $decads = array('двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'); $fdecads = array('десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать'); $ones = array('', $words[0], $words[1], 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять'); $result = ''; $h = floor($num / 100); $result .= $hundreds[$h]; $d = floor(($num - $h * 100) / 10); $c = ($num - $h * 100 - $d*10); $result .= ($result != '') ? ' ' : ''; if($d == 1) { $result .= $fdecads[$c]; } else { if($d > 1) $result .= $decads[$d-2] . ' '; $result .= $ones[$c]; } $result .= ($result != '') ? ' ' : ''; switch ($c) { case 1: $result .= ($d != 1) ? $words[2] : $words[4]; break; case 2: case 3: case 4: $result .= ($d != 1) ? $words[3] : $words[4]; break; default: if ($num > 0) { $result .= $words[4]; } } return $result; } ?>