Подтвердить что ты не робот

Add 'rd или' th или 'st зависит от числа

Возможный дубликат:
Показать номера с порядковым суффиксом в PHP

Я думаю, что они называются ординарными суффиксами.

Увидели примеры дат...

Но просто подумал, есть ли какой-то php, который может вытолкнуть суффикс, зависящий от числа.

Пример: мы выводим таблицу лидеров наших пользователей.

Итак, член, занявший первое место, мы хотим повторить: 1'st и член занял 847. Мы хотим вырвать 847'th

и т.д.

Я не могу привести пример, поскольку числа отображаются на странице через наш дБ

Просто подумал, есть ли какой-то фрагмент кода, который может добавить автоматически "th" или "st" или "rd" к соответствующему номеру.

4b9b3361

Ответ 1

Я не знаю никаких встроенных модулей, которые это делают, но это должно работать:

function ordinal_suffix($num){
    $num = $num % 100; // protect against large numbers
    if($num < 11 || $num > 13){
         switch($num % 10){
            case 1: return 'st';
            case 2: return 'nd';
            case 3: return 'rd';
        }
    }
    return 'th';
}

(примечания 11, 12 и 13 являются особыми случаями - 11, 12, 13-й и 11-й...)

Ответ 2

<?php
function ordinalSuffix($num) {
    $suffixes = array("st", "nd", "rd");
    $lastDigit = $num % 10;

    if(($num < 20 && $num > 9) || $lastDigit == 0 || $lastDigit > 3) return "th";

    return $suffixes[$lastDigit - 1];
}
?>

(И нет, это не 1'st - это 1 st.)

P.S. Если кому-то это нужно в JavaScript: http://www.vbforums.com/showthread.php?t=653149