|
|
|
| Здраствуйте.
Есть вывод возраста человека, допустим "20 лет", а вот если человеку 23, то надо вывести "23 года" как это определяется? какая система? спасибо. | |
|
|
|
|
|
|
|
|
для: unnamed
(18.01.2007 в 13:14)
| | По последней цифре вроде как. 0 - лет, 1 - год, 2-4 - года 5-9 - лет. Ео есть исключения типа 11, 12, 13 и ещё какие-то вроде. | |
|
|
|
|
|
|
|
для: unnamed
(18.01.2007 в 13:14)
| | $age = array();
$age[20] = "лет";
$age[21] = "год";
$age[22] = "года";
$currAge = 22;
print($currAge." ".$age[$currAge]); | |
|
|
|
|
|
|
|
для: ULIS
(18.01.2007 в 13:24)
| | Вот что вышло:
<?
$day="кол-во лет";
$last_digit = $day[(strlen($day) - 1)];
$pred_last_digit = $day[(strlen($day) - 2)];
if(($last_digit == 0 || $last_digit == 1|| $last_digit == 2 || $last_digit == 3 || $last_digit == 4|| $last_digit == 5|| $last_digit == 6|| $last_digit == 7|| $last_digit == 8|| $last_digit == 9) && ($pred_last_digit == 1 || $pred_last_digit == 2 || $pred_last_digit == 3 || $pred_last_digit == 4 || $pred_last_digit == 5|| $pred_last_digit == 6 || $pred_last_digit == 7 || $pred_last_digit == 8))
{$word="лет";}
if($last_digit == 1 && $pred_last_digit != 1) {$word="год";}
if(($last_digit == 2 || $last_digit == 3 || $last_digit == 4) && $pred_last_digit != 1) {$word="года";}
echo $day.$word;
?>
|
Можно укоротить? :) Или и так сойдет. сделал все что смог
Спасибо всем и спасибо cheops'у за ссылочку именно по тому примеру делал. | |
|
|
|
|
|
|
|
для: unnamed
(18.01.2007 в 15:17)
| | Для себя я уже давно написал такую функцию:
<?php
function textnum ( $form1, $form2, $form3, $num ) {
if ( !is_numeric($num) ) return $form1;
if ( $num < 0 ) $num = -$num;
$num = (string)$num;
$len = strlen($num);
$last_num = (integer)($len == 1 ? $num : $num[$len - 1]);
if ( $len >= 2 ) {
if ( $num[$len-2] == "1" ) return $form3;
}
if ( $last_num == 1 ) {
return $form1;
} elseif ( $last_num >=2 && $last_num < 5 ) {
return $form2;
} else {
return $form3;
}
}
$number = rand(0, 10000);
print "На сайте находятся ".$number." ".
textnum("пользователь", "пользователя", "пользователей", $number).".<br/>";
$number = rand(0, 100);
print "Вам ".$number." ".textnum("год", "года", "лет", $number).".<br/>";
|
| |
|
|
|