2014-10-02 113 views
-1

我正在考虑编写一个简单的函数来处理我的Web应用程序的所有部门。主要原因是通过0错误进行划分。我想我会在0除以0时尝试返回0。Php自定义分区功能

我在这里完全想错了吗?

该Web应用程序非常广泛,目前由5个不同的业务使用。它每天记录和处理10,000多条不同的记录。所以说停止除以零并不是一个解决方案。

+2

最后我检查是不可能的,除以零开始。所以我认为你需要做的是在执行算术之前错误地检查你的信息。你不愿意告诉你的客户,计算不能完成而不是告诉他们'0'是数字吗?我认为这更多的是与商业相关的决定,但如果我在哪里,我会告诉客户有关它的信息,因为他们可能会输入错误的信息。 – Crackertastic 2014-10-02 14:22:28

+0

你为什么试图首先除以0,你认为正确的结果应该是什么?对你的问题没有一般的答案。除以0是不可能的,句号。 “抑制由此产生的错误”*可能*是针对您的情况的正确解决方案,或者可能不是。任何一般的开发人员和/或数学家都会说,正确的解决方案不是首先将其除以0。 – deceze 2014-10-02 14:50:53

+0

@deceze我同意你的说法,但我一直在寻找建议来抑制错误,并且仍然给最终用户一些东西。我知道0除以0是不可能的,我只是寻求建议和或其他人已经实施的解决方案。 – user2843198 2014-10-02 15:52:36

回答

0

尝试这样:

function division($dividend, $divisor) { 
    if ($divisor == 0) { 
     //change this return value to whatever fits your code 
     return 0; 
    } else { 
     return $dividend/$divisor; 
    } 
} 

用法:

echo division(4, 2);  // 2 
echo division(9, (5-1)); // 2.25 
echo division(1, 0);  // 0 

你也可以,如果除数为零抛出一个异常,或者返回false,例如,和治疗以任何方式错误你需要。

+0

这就是我正在做的事,我只是不知道这是否是最好的解决方案。 – user2843198 2014-10-02 14:39:42