Недавно треба було зробити на PHP зворотній лічильник днів до події. В таких випадках виникає потреба узгодити число днів, що залишились, з іменником «день».
В сучасній українській мові є три способи узгодження з множиною:
- для всіх чисел, що закінчуються на 1, за винятком 11, маємо іменник в однині («день»)
- для тих, що закінчуються на 2, 3, 4, за винятком 12, 13, 14, маємо множину в назиному відмінку («дні»)
- для решти — множина в родовому відмінку («днів»)
Окрім того, в мові існувала ще двоїна, але тут ми її обійдемо. Словом, ось код:
switch ($daysleft % 10) { // Це не я придумав case 1: if ($daysleft != 11) { $output .= ' день'; break; } case 2: case 3: case 4: if (($daysleft < 10) || ($daysleft > 20)) { $output .= ' дні'; break; } default: $output .= ' днів'; } |