дарю:
/** * Построение числа с падежом в количественных выражениях (1 товар, 5 товаров, 23 товара и т.д.) * * @param int $number * @param string $padej1 * @param string $padej2 * @param string $padej3 * @return string */ function padej ($number, $padej1, $padej2, $padej3, $show_with_number = true) { // 5, "обзор", "обзора", "обзоров" if ( ($number>=5 AND $number<=20) OR ($number > 20 AND substr($number, -1, 1) >= 5 AND substr($number, -1, 1) <= 9) OR substr($number, -1, 1) == 0 OR (strlen($number)>2 AND intval(substr($number, -2, 2))>=5 AND intval(substr($number, -2, 2))<=20) ) { return (($show_with_number)?$number." ":"").$padej3; } elseif (substr($number, -1, 1) == 1) { return (($show_with_number)?$number." ":"").$padej1; } else { return (($show_with_number)?$number." ":"").$padej2; } } |