php - 变量的单数或复数设置。 PHP

标签 php variables singular

有很多问题解释如何回显单数或复数变量,但没有人回答我的问题,即如何设置变量来包含所述单数或复数值。

我原以为它会按如下方式工作:

$bottom="You have favourited <strong>$count</strong> " . $count == 1 ? 'user':'users';

但这不起作用。

有人可以告诉我如何实现上述目标吗?

最佳答案

你可以试试我写的这个函数:

/**
 * Pluralizes a word if quantity is not one.
 *
 * @param int $quantity Number of items
 * @param string $singular Singular form of word
 * @param string $plural Plural form of word; function will attempt to deduce plural form from singular if not provided
 * @return string Pluralized word if quantity is not one, otherwise singular
 */
public static function pluralize($quantity, $singular, $plural=null) {
    if($quantity==1 || !strlen($singular)) return $singular;
    if($plural!==null) return $plural;

    $last_letter = strtolower($singular[strlen($singular)-1]);
    switch($last_letter) {
        case 'y':
            return substr($singular,0,-1).'ies';
        case 's':
            return $singular.'es';
        default:
            return $singular.'s';
    }
}

用法:

pluralize(4, 'cat'); // cats
pluralize(3, 'kitty'); // kitties
pluralize(2, 'octopus', 'octopii'); // octopii
pluralize(1, 'mouse', 'mice'); // mouse

显然有很多特殊单词该函数无法正确复数,但这就是 $plural 参数的用途:-)

看看Wikipedia看看复数有多么复杂!

关于php - 变量的单数或复数设置。 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1534127/

相关文章:

php - 管理数据库表的理想方式。用户用于 future 的发展?

php - 在 PHP 中绑定(bind)参数的高效循环

php - 用户只能通过自己的电脑在 php 中登录

windows - 批处理脚本循环变量

Javascript - 在哪里放置常量,全局的还是局部的?

php - cakephp - 搜索整个模型和 HasManys 并使用通配符

objective-c - 分配指针 - Objective-C

c++ - 针对奇异矩阵时 solve() 崩溃

matrix - Swift - CGAffineTransformInvert : singular matrix. UITextView & iAd

java - 在Java中使用正则表达式获取单数或复数字符串