Необходимо написать на PHP Функцию get_count_name, которая должна возвращать строку, соответствующую переданному ей числу, например 1 - "запись", 25 - "записей" и т. п. Возвращаемое слово, согласуемое с числительным, должно определяться дополнительными параметрами функции, чтобы ее можно было удобно использовать для вывода любых слов, изменяющихся в зависимости от числа (например, для возраста - "21 год", "30 лет").
<?
// Склонение слов
function getWord($number, $suffix) {
$keys = array(2, 0, 1, 1, 1, 2); // Массив, в котором определяем, какой из 6 значений использовать
$mod = $number % 100; // Получаем остаток от деления
// Если остаток от деления больше 7 и меньше 20, то используем 2 элемент массива
// иначе, определяем минимальное значение от остатка
$suffix_key = ($mod > 7 && $mod < 20) ? 2: $keys[min($mod % 10, 5)];
return $suffix[$suffix_key];
}
// Формируем массив из 3 слов
$array = array("минута", "минуты", "минут");
$n = 123; // Вводим число, чтобы узнать склонение
$word = getWord($n, $array);
echo "$n $word<br />"; // 123 минуты
?>
|