Skip to content

Instantly share code, notes, and snippets.

@amberlex78
Last active June 11, 2023 15:03
Show Gist options
  • Save amberlex78/8b248054c8f0e48edd1be3f6cf8653a7 to your computer and use it in GitHub Desktop.
Save amberlex78/8b248054c8f0e48edd1be3f6cf8653a7 to your computer and use it in GitHub Desktop.
Преобразование количества "цифрой" в количество "словом"
/**
* Преобразование количества "цифрой" в количество "словом"
* Чтобы было удобнее формировать массивы со склонениями, запомните ряд чисел 1-2-5,
* а потом мысленно подставляйте их в массив: (один "рубль", два "рубля", пять "рублей")
* $num = 3;
* $words = array('новость', 'новости', 'новостей');
* echo $num . ' ' . num_2_word($num, $words); // сколько новостей
*
* @param $n
* @param $words
*
* @return mixed
* @link http://www.manhunter.ru/webmaster/15_seychas_na_sayte_2_gostey_i_3_novostey.html
*/
function num_2_word($n, $words)
{
return ($words[($n = ($n = $n % 100) > 19 ? ($n % 10) : $n) == 1 ? 0 : (($n > 1 && $n <= 4) ? 1 : 2)]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment