Другие языки программирования и технологии

После ввода числа определить слово. PHP.

Попробую объяснить. К примеру, в форме я ввел цифру. Надо после отправки формы чтобы вывелось число + слово склоняющееся с числом.
Например, я ввел 12.
Вывод: 12 баллОВ.
Ввод: 21
Вывод; 21 балл
Ввод: 42
Вывод: 42 баллА.

Подскажите как так сделать? Хотя бы в пределах сотни...
В предыдущем ответе не учтена еще одна особенность числительных - числа оканчивающиеся на 11,12....18,19 тоже должны заканчиваться на "ов"
вот готовый пример:

function sayBall($num){

echo $num," балл"; // выводим саму цифру и первую часть слова
$div100 = $num % 100; // получаем остаток от деления числа на 100
$div10 = $num % 10; // и на 10

if (($div100>10 && $div100 < 20) || ($div10 > 4 && $div10 <10) || 0 == $div10){
// если остаток от деления на 100 находится в промежутке от 11 до 19
// или остаток от деления на 10 находится в промежутке от 5 до 9
// или остаток от деления на 10 равен 0
echo 'ов';
} elseif($div10 > 1 && $div10 <5){
// остаток от деления на 10 находится в промежутке от 2 до 4
echo 'а';
}
}

sayBall(intval($_POST['submit']));
// profit
Кирилл Сергеев
Кирилл Сергеев
576
Лучший ответ
дак задай ему (языком не скажу как, давно не пользовался php) условно как че делать. if text="*1"(не помню как любой символ поставить перед 1) то echo то и то, else if text="+2" то пиши то и то, в противном случае пиши это.
куда еще проще, вот твой пример отредактировал с использованием \d - любая цифра
if ($_POST[submit] == \d1) {echo "балл";}
if ($_POST[submit] == \d2) {echo "балла";}
Используйте условие if-elseif-else.

Просчитайте максимальное кол-во баллов и изменяйте окончания.

____________ДОБАВЛЕНО_____________

А кто вам говорит пишите столько в ручную?
Проверяйте приблизительно так:

Если в числе последняя ЦИФРА 1, то БАЛЛ

ЕСЛИ в числе последняя ЦИФРА 2,3,4, то БАЛЛА

ЕСЛИ в числе последняя ЦИФРА 5,6,7,8,9 то БАЛЛов

Более компактно? Тернарное условие:

$a = 1==0 ? "first value" :
(2==0 ? "second value" :
(3==3 ? "result value" : "default value"));

Как определить последнюю цифру?
Все просто: раздели это число по модулю 10.
Например, наше число 124

http://pastebin.com/YE0xXipw
@kotэ%: *mladshii&
@kotэ%: *mladshii&
3 216

Похожие вопросы