为什么抛出这个PHP警告(除以零)?

时间:2014-03-24 14:57:46

标签: php warnings

由于我网站上的某个公式,我收到了“分零”的PHP警告:

$VidListAppRate = (($VLA['Likes'] / $VLA['views']) * 100;

在我意识到我没有考虑变量 $ VLA ['views'] 可能为零之后,我将此代码更改为以下内容,认为它会根除警告:< / p>

$VidListAppRate = ($VLA['views'] === 0) ? 0 : ($VLA['Likes'] / $VLA['views']) * 100;

然而,警告仍然出现(注意: $ VLA ['views'] 是一个int)。我尝试用字符串替换0:

$VidListAppRate = ($VLA['views'] === 0) ? 'N/A' : ($VLA['Likes'] / $VLA['views']) * 100;

但我仍然收到警告。我知道我的php error_log中的注意事项,警告和错误消息是我的朋友,但是如何重写我的代码以安抚此警告?

1 个答案:

答案 0 :(得分:2)

预计完全匹配:

$VidListAppRate = ($VLA['views'] === 0)...

也许你需要:

$VidListAppRate = ($VLA['views'] == 0)...

或者:

$VidListAppRate = ($VLA['views'] === '0')... 

或者:

$VidListAppRate = (!$VLA['views'])...