在 PHP 中显示带序号后缀的数字

2022-01-17 00:00:00 numbers php

我想如下显示数字

  • 1 为 1,
  • 2 次,
  • ...,
  • 150 为 150.

我应该如何为代码中的每个数字找到正确的序数后缀(st、nd、rd 或 th)?

How should I find the correct ordinal suffix (st, nd, rd or th) for each number in my code?

推荐答案

来自维基百科:

$ends = array('th','st','nd','rd','th','th','th','th','th','th');
if (($number %100) >= 11 && ($number%100) <= 13)
   $abbreviation = $number. 'th';
else
   $abbreviation = $number. $ends[$number % 10];

其中 $number 是您要写入的数字.适用于任何自然数.

Where $number is the number you want to write. Works with any natural number.

作为一个函数:

function ordinal($number) {
    $ends = array('th','st','nd','rd','th','th','th','th','th','th');
    if ((($number % 100) >= 11) && (($number%100) <= 13))
        return $number. 'th';
    else
        return $number. $ends[$number % 10];
}
//Example Usage
echo ordinal(100);

相关文章