处理0%的PHP百分比

时间:2013-11-19 04:39:52

标签: php

我是PHP新手我知道更多HTML和Obj-C。

我的PHP脚本计算了数据库中男性的注册用户数,并希望显示女性中男性的百分比。这是我目前的代码:

$percent = number_format(($male_count * 100) / $total_users); 
echo $percent;

工作正常,我遇到的问题是如果$ male_count的值为0我收到错误消息,但我想要它做的是显示0%

我该怎么做?

3 个答案:

答案 0 :(得分:4)

如果$male_count为零,则不应出错。如果$total_users为零,你可能会得到一个。

如何处理这取决于您在这种情况下想要的值。 0到100之间的任何数量都可能有效但我们假设你想要0(代码的格式是为了便于阅读):

$percent = number_format(
    $total_users == 0
        ? 0
        : $male_count * 100 / $total_users
);
echo $percent;

或者,提供一个基本计算出百分比的函数,如果计数为零,则使用合适的默认值,如下所示:

function percentage($num,$den,$def) {
    if ($den == 0) return $def;
    return $num * 100 / $den;
}

$percent = percentage($male_count,$total_users,0);
echo $percent;

答案 1 :(得分:3)

试试这个:

$num = $total_users > 0 ? (($male_count * 100) / $total_users) : 0
$percent = number_format($num); 
echo $percent;

基本上是三元组if $total_users大于0然后除以,否则只使用0

答案 2 :(得分:1)

初学者使用此:

if($male_count == 0)
{
   echo "0%";
}
else
{
   $percent = number_format(($male_count * 100) / $total_users); 
   echo $percent; 
}

它是一个可读的代码。如果您使用快捷方式,如果它也可以