我想显示如下数字

  • 1作为第一个,
  • 2作为第二,
  • ...,
  • 第150名为第150名.

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

推荐答案

from wikipedia:

$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是您要写的数字.适用于任何自然数.

作为一项功能:

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);

Php相关问答推荐

带有打印和回声的PHP意外命令

如何在Livewire中验证多个 Select 字段

无法使用DOMPDF在PDF中呈现非ANSI字符

WooCommerce产品按特定元数据的自定义数字排序选项

如何让PHP变量跨越多个脚本调用?

如何删除Foreach语句中的重复值?

如何在Livewire 3 Form类中做依赖注入?

在WordPress中从CPT中删除插件

使用CODIGNITER3中的OR和AND子句进行查询

哪里的表现能更好?

在Laravel中创建辅助函数时的约定

既然setSQLLogger()已被弃用,如何使用中间件在 Doctrine 3 中记录查询执行时间?

根据页面以及是否在促销,向 WooCommerce 中显示的价格添加前缀

invalid_grant 和无效的 JWT 签名

单个产品页面 WooCommerce 订阅价格字符串的更改

在php中计算两个没有假期的日期之间的小时差

如何在 Phpunit 的静态提供程序中创建测试双打?

PHP 中的正则表达式,具有字符范围,但不包括特定字符

Laravel Websockets 错误:(WebSocket 在建立连接之前关闭)

htaccess 无限循环问题