运行php算术时被零除
我试图计算变量,但我的答案是错误的(警告:除以零),我假设它是因为默认情况下,我的变量实际上是零运行php算术时被零除,php,mysql,math,Php,Mysql,Math,我试图计算变量,但我的答案是错误的(警告:除以零),我假设它是因为默认情况下,我的变量实际上是零 <?php $tax = $row['tax']; //Pulls Tax Data $totalPayableSites = $row3['total']; // pulls total sites payable $iskPerRun1 = $sum_total - $tax; $iskPerRun2 = $iskPerRun1/$totalPayableS
<?php
$tax = $row['tax']; //Pulls Tax Data
$totalPayableSites = $row3['total']; // pulls total sites payable
$iskPerRun1 = $sum_total - $tax;
$iskPerRun2 = $iskPerRun1/$totalPayableSites;
$iskPerRunRound = floor($iskPerRun2 / 100) * 100;
$iskPerRun = number_format($iskPerRunRound);
if (($iskPerRunRound) == 0) {
echo "0 ISK"; }
else {
echo $iskPerRun;
echo " ISK"; }
?>
我如何重新编写它来检查它是否为零,如果它不为零,如何只运行计算
除此之外,当我的变量不是“0”时,代码可以完美地工作
在编辑脚本之前,默认情况下所有变量都是“0”。为什么不在除法之前检查0呢
$iskPerRun2 = $totalPayableSites ? $iskPerRun1/$totalPayableSites : 0;
例如,我想有很多方法可以做到这一点,这里有一个(假设你想要一个正值):
为什么不使用
if
语句呢?感谢您的回复,SaZmer代码非常有效。
if($totalPayableSites > 0){
$iskPerRun2 = $iskPerRun1/$totalPayableSites;
$iskPerRunRound = floor($iskPerRun2 / 100) * 100;
$iskPerRun = number_format($iskPerRunRound);
echo $iskPerRun;
echo " ISK";
}else{
echo "0 totalPayableSites";
}