Вход Регистрация
* Mi4ok

Cклонение слов после чисел

  1. function num_decline( $number, $titles, $show_number = true ){
  2.  
  3. if( is_string( $titles ) ){
  4. $titles = preg_split( '/, */', $titles );
  5. }
  6.  
  7. // когда указано 2 элемента
  8. if( empty( $titles[2] ) ){
  9. $titles[2] = $titles[1];
  10. }
  11.  
  12. $cases = [ 2, 0, 1, 1, 1, 2 ];
  13.  
  14. $intnum = abs( (int) strip_tags( $number ) );
  15.  
  16. $title_index = ( $intnum % 100 > 4 && $intnum % 100 < 20 )
  17. ? 2
  18. : $cases[ min( $intnum % 10, 5 ) ];
  19.  
  20. return ( $show_number ? "$number " : '' ) . $titles[ $title_index ];
  21. }
» Описание: /**
* Склонение слова после числа.
*
* // Примеры вызова:
* num_decline( $num, 'книга,книги,книг' )
* num_decline( $num, 'book,books' )
* num_decline( $num, [ 'книга','книги','книг' ] )
* num_decline( $num, [ 'book','books' ] )
*
* @param int|string $number Число после которого будет слово. Можно указать число в HTML тегах.
* @param string|array $titles Варианты склонения или первое слово для кратного 1.
* @param bool $show_number Указываем тут 00, когда не нужно выводить само число.
*
* @return string Например: 1 книга, 2 книги, 10 книг.
*
* @version 3.1
*/
» Время добавления: 17 Сент 2022 в 16:15
» Посмотров: 2993
» textarea
» Рейтинг: [+3 | -1]
Комментарии [1]
Онлайн: 1
Реклама