Я тоже ночевал на улице. И тоже в чужом городе. Более того — в чужой стране. Тогда было страшно и неуютно. Сейчас это одно из самых ярких и теплых воспоминаний в моей жизни. (: Очень рад, что тогда прошел через это. Нужно успеть попробовать кофе из каждой чашки, я думаю.
Груда металлолома — это неуправляемый самолет. Помимо двигателя в нем есть еще много полезных штучек, которые были вполне исправны. Так что, это не одно и то же.
Название — это слово «склонение» на английском. Ничего удивительного. (: А функция похожа только в том месте, где собственно склоняется. Это, в общем, довольно распространенный алгоритм.
Насчет приведенной функции согласен, обычно это удобнее. Если в склоняемых формах нет пробела. Правда регексп для выделения числа из форматированной строки — совершенно лишнее, имхо.
Ну, это скорее нужно делать за пределами этой функции, т.к. она именно для склонения существительных, а не только для комментов. Обычную логическую конструкцию на проверку переменной $count перед вызовом функции сделать логичнее с точки зрения универсальности, имхо.
<?php
$numbers = array(1, 2, 5, 23, 71, 11, 12, 13, 14);
$words = array('комментарий', 'комментария', 'комментариев');
foreach($numbers as $number) printf('%d %s
', $number, declension($number, $words));
?>
Выводит:
1 комментарий
2 комментария
5 комментариев
23 комментария
71 комментарий
11 комментариев
12 комментариев
13 комментариев
14 комментариев
Почитайте внимательнее приведенную мной функцию. Эта особенность там учитываются, если число больше 20. Только строчек в ней значительно меньше.
Насчет приведенной функции согласен, обычно это удобнее. Если в склоняемых формах нет пробела. Правда регексп для выделения числа из форматированной строки — совершенно лишнее, имхо.