首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP中的复数和单数术语

PHP中的复数和单数术语
EN

Stack Overflow用户
提问于 2011-02-21 22:14:00
回答 4查看 2.6K关注 0票数 3

我正在为我们的网站做一个数量的用户检查,下面是代码。如果只有一个账号,我怎么使用"user“这个词?如果有>1个账号,我怎么使用"users”?

代码:

代码语言:javascript
复制
       $result = mysql_query("SELECT * FROM users WHERE user_id='$userid'");
       $num_rows = mysql_num_rows($result);

        echo "amount of users.";
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-21 22:16:42

也许我弄错了,但很明显:

代码语言:javascript
复制
echo $num_rows > 1 ? 'users' : 'user';
票数 6
EN

Stack Overflow用户

发布于 2011-02-21 22:29:40

所有这些答案都会很好地工作,但如果你正在寻找一种可重用的方式,你总是可以将其外部化:

代码语言:javascript
复制
function get_plural($value, $singular, $plural){
    if($value == 1){
        return $singular;
    } else {
        return $plural;
    }
}

$value = 0;
echo get_plural($value, 'user', 'users');

$value = 3;
echo get_plural($value, 'user', 'users');

$value = 1;
echo get_plural($value, 'user', 'users');

// And with other words
$value = 5;
echo get_plural($value, 'foot', 'feet');

$value = 1;
echo get_plural($value, 'car', 'cars');

或者,如果您希望它更加自动化,您可以将其设置为仅当它是一个替代单词时才需要设置$plural变量(例如:foot/foot):

代码语言:javascript
复制
function get_plural($value, $singular, $plural = NULL){
    if($value == 1){
        return $singular;
    } else {
        if(!isset($plural)){
            $plural = $singular.'s';
        }
        return $plural;
    }
}

echo get_plural(4, 'car');   // Outputs 'cars'
echo get_plural(4, 'foot');  // Outputs 'foots'
echo get_plural(4, 'foot', 'feet');  // Outputs 'feet'
票数 9
EN

Stack Overflow用户

发布于 2011-02-21 22:16:26

试一试

代码语言:javascript
复制
if($num_rows === 1)
{
    echo "user";
}
else
{
    echo "users";
}

或简短的形式

代码语言:javascript
复制
echo $num_rows === 1 ? "user" : "users";
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5067010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档