Php自定义分区功能
问题描述:
我正在考虑编写一个简单的函数来处理我的Web应用程序的所有部门。主要原因是通过0错误进行划分。我想我会在0除以0时尝试返回0。Php自定义分区功能
我在这里完全想错了吗?
该Web应用程序非常广泛,目前由5个不同的业务使用。它每天记录和处理10,000多条不同的记录。所以说停止除以零并不是一个解决方案。
答
尝试这样:
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
最后我检查是不可能的,除以零开始。所以我认为你需要做的是在执行算术之前错误地检查你的信息。你不愿意告诉你的客户,计算不能完成而不是告诉他们'0'是数字吗?我认为这更多的是与商业相关的决定,但如果我在哪里,我会告诉客户有关它的信息,因为他们可能会输入错误的信息。 – Crackertastic 2014-10-02 14:22:28
你为什么试图首先除以0,你认为正确的结果应该是什么?对你的问题没有一般的答案。除以0是不可能的,句号。 “抑制由此产生的错误”*可能*是针对您的情况的正确解决方案,或者可能不是。任何一般的开发人员和/或数学家都会说,正确的解决方案不是首先将其除以0。 – deceze 2014-10-02 14:50:53
@deceze我同意你的说法,但我一直在寻找建议来抑制错误,并且仍然给最终用户一些东西。我知道0除以0是不可能的,我只是寻求建议和或其他人已经实施的解决方案。 – user2843198 2014-10-02 15:52:36