» » » Склоняем правильно - рубли, рубля, рублей. Дни, дня, дней

Склоняем правильно - рубли, рубля, рублей. Дни, дня, дней

22-08-2015, 03:57
Автор: .
Просмотров: 1 171
Комментариев: 0
Версия для печати

Склоняем правильно - рубли, рубля,  рублей. Дни, дня, дней

 


	function decl($int, $expr){  
	  settype($int, "integer");  
	  $count = $int % 100;  
	  if ($count >= 5 && $count <= 20) {  
	    $result = $int." ".$expr['2'];  
	  } else {  
	    $count = $count % 10;  
	    if ($count == 1) {  
	      $result = $int." ".$expr['0'];  
	    } elseif ($count >= 2 && $count <= 4) {  
	      $result = $int." ".$expr['1'];  
	    } else {  
	      $result = $int." ".$expr['2'];  
	    }  
	  }  
	  return $result;  
	}  
	
		
	вызов простой:
	$value = 180;
	$decl = array('фотка', 'фотки', 'фоток')
	или
	$decl = array('день', 'дня', 'дней')
	или
	$decl = array('рубль', 'ру***', 'рублей')
	
		
	decl($value, $decl);
 
 
 

	function plural_type($n) { 
	  return ($n%10==1 && $n%100!=11 ? 0 : ($n%10>=2 && $n%10<=4 && ($n%100<10 || $n%100>=20) ? 1 : 2)); 
	} 
	
		
	$_plural_years = array('год', 'года', 'лет'); 
	$_plural_months = array('месяц', 'месяца', 'месяцев'); 
	$_plural_days = array('день', 'дня', 'дней'); 
	$_plural_times = array('раз', 'раза', 'раз'); 
	
		
	$x = 2; 
	echo "$x " . $_plural_years[plural_type($x)]; 
	
		
	$x = 8; 
	echo " $x " . $_plural_months[plural_type($x)]; 
	
		
	$x = 3; 
	echo " $x " . $_plural_days[plural_type($x)]; 
	
		
	$x = 55; 
	echo " $x " . $_plural_times[plural_type($x)]; 
	
		
	выведет:
	2 года 8 месяцев 3 дня 55 раз
 
 
 

 function  days($day) 
    { 
        $a=substr($day,strlen($day)-1,1); 
        if($a==1) $str="день"; 
        if($a==2 || $a==3 || $a==4) $str="дня"; 
        if($a==5 || $a==6 || $a==7 || $a==8 || $a==9 || $a==0) $str="дней"; 
        return $str; 
    }

	
$days=150; 
echo $days."&nbsp;".days($days) ; 

Рейтинг статьи:
  
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.