我正在为我们的网站做一个数量的用户检查,下面是代码。如果只有一个账号,我怎么使用"user“这个词?如果有>1个账号,我怎么使用"users”?
代码:
$result = mysql_query("SELECT * FROM users WHERE user_id='$userid'");
$num_rows = mysql_num_rows($result);
echo "amount of users.";发布于 2011-02-21 22:16:42
也许我弄错了,但很明显:
echo $num_rows > 1 ? 'users' : 'user';发布于 2011-02-21 22:29:40
所有这些答案都会很好地工作,但如果你正在寻找一种可重用的方式,你总是可以将其外部化:
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):
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'发布于 2011-02-21 22:16:26
试一试
if($num_rows === 1)
{
echo "user";
}
else
{
echo "users";
}或简短的形式
echo $num_rows === 1 ? "user" : "users";https://stackoverflow.com/questions/5067010
复制相似问题