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 - рублей
Мне нужно сделать баланс на сайте и чтобы слово рубль склонялось автоматически в зависимости от числа. Я посмотрел до 10 числа и понял что если 2,3 и 4 окончание у числа то пишется рубля. Но когда дошел 12 понял что это не так. Помогите написать функцию...
function num2word($num, $words)
{
$num = abs($num) % 100; // для правильного отображения отрицательного значения
if ($num > 19) {
$num = $num % 10;
}
switch ($num) {
case 1: {
return($words[0]);
}
case 2: case 3: case 4: {
return($words[1]);
}
default: {
return($words[2]);
}
}
}
echo num2word(23, ['рубль', 'рубля', 'рублей']);
function num2word($num = 0, $words = array())
{
$num = (int) $num;
$cases = array(2, 0, 1, 1, 1, 2);
return $num . ' ' . $words[($num % 100 > 4 && $num % 100 < 20) ? 2 : $cases[min($num % 10, 5)]];
}
echo num2word(23, ['рубль', 'рубля', 'рублей']);
/**
* * Склонения
* @param {Number} $count количество
* @param {Array} $textForms варианты склонений [для одного, для двух-четырёх, больше четырёх]
* @return string
*/
function decl($count, $textForms) {
$count =abs($count) % 100;
if ($count > 10 && $count < 20) {
return $textForms[2];
}
$count = $count % 10;
if ($count > 1 && $count < 5) {
return $textForms[1];
}
if ($count === 1) {
return $textForms[0];
}
return $textForms[2];
}
echo decl(2, ['рубль', 'рубля', 'рублей']);
echo decl(-12, ['рубль', 'рубля', 'рублей']);
echo decl(22, ['рубль', 'рубля', 'рублей']);
echo decl(32, ['рубль', 'рубля', 'рублей']);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите в какое место копать, почему не отрабатывает filemtime ?
Сайт содержит одинаковую кнопку на всех страницах с описанием работодателей - пример: http://inspektorpracieu/o-firme/416_maktronik - синяя кнопка с текстом "Хочу...