Схиляння слів на php
Дуже популярною проблемою, з якою стикаються Web-програмісти, це схиляння слів на мові програмування PHP. Наприклад, потрібно вивести, скільки хвилин тому була залишено якусь повідомлення. Можна написати просто число і слово "хвилин". Але тоді буде написано досить дивно, наприклад,"1 хвилин","2 хвилин"І так далі. Фактично, без відмінювання слів на мові програмування PHP Вам не обійтися, якщо, звичайно, Ви хочете писати по-російськи.
Проблема новачкам здасться дуже складною, але, насправді, у відмінювання слів є певна закономірність. Подивіться самі: "1 хвилина, 2 хвилини, 5 хвилин, 11 хвилин, 19 хвилин, 21 хвилина, 22 хвилини, 25 хвилин і так далі". Бачите закономірність? 1, 21, 31, 41 - завжди буде "хвилина". Якщо молодший розряд більше 1-го і менше 5, при цьому саме число при діленні на 100 має залишок більше 20 (Тобто, наприклад, не число 12 і не 112), То будуть "хвилини". В інших випадках "хвилин".
А ось далі вже починається побудова алгоритму, оскільки закономірність очевидно є. Я приведу Вам, на мій погляд, найкрасивіший алгоритм. Він найбільш короткий, і в той же час дуже швидкий.
lt ;?php
function getWord($ number, $ suffix){
$ keys = array(2,0,1,1,1,2) -
$ mod = $ number %100-
$ suffix_key =($ mod gt;7 $ mod lt;20)?2: $ keys[min($ mod %10,5)] -
return $ suffix[$ suffix_key] -
}
$ array = array("Хвилина","Хвилини","Хвилин") - $ n =21-
$ word = getWord($ n, $ array) -
echo "$ N $ word
"-
$ n =11-
$ word = getWord($ n, $ array) -
echo "$ N $ word
"-
$ n =4-
$ word = getWord($ n, $ array) -
echo "$ N $ word
"-
?gt;
Запустивши даний скрипт Ви побачите, що схиляння слів на мові програмування PHP відбувається на ура. Можу лише додати, що крім "хвилин"Там може бути"день","година","людина","комп`ютер"І всі інші іменники, які схиляються в залежності від числівника.
- Створення завантажувальної флешки з чистою windows 10
- Scientific 7
- 7 Хвилин вправ
- Келебії докса - введення в програмування на go
- Зведені таблиці в excel - підготовка даних, побудова та налаштування (навчання, відео)
- Як зробити типи користувачів на php
- Що таке сокет в php
- Як перетворити формат часу чч: мм: сс в годинник в excel
- Як навчитися друкувати на клавіатурі 10-ю пальцями, що не дивлячись на неї.
- Як порахувати час в excel.
- Скільки часу ви провели на сторінці?
- Відновлення документів word | як відкрити файл asd
- Вимкнення linux з командного рядка
- Вивчаємо coffeescript. Цикли.
- Використання cron
- Умовний оператор в jаvascript
- Умовний оператор в php
- Схиляння імен на php
- Microsoft: edge найбільш енергоефективний браузер
- Створення updater-script за кілька хвилин
- Відгук про userator