基本上,我制作了一个脚本来登录网站,从网站获取元素,并将一个元素与另一个元素分开。问题是,我已经检查了很多次,除数不为零。这是片段:
if($num==0)
{
echo "<td>".$estate_income."/".$num."</td>";
}
else
{
echo "<td>".$estate_income/$num."</td>";
}
这将输出类似50/2000
的内容,这意味着 if 语句为真,这意味着 $num 在某种程度上等于 0。如果我尝试将这两个变量相除,它将输出php warning diivision by zero
:
echo "<td>".$estate_income/$num."</td>";
我现在要问的是,对于一个解决方案,也许一些错误检测方法可以告诉我我做错了什么。这可能是我忽略的非常明显的事情。
提前致谢!
艾哈迈德·阿尔巴亚提
编辑:
try
{
echo "<td>".$estate_income/$num."</td>";
}
catch(Exception $e)
{
echo 'Caught exception: ', $e->getMessage(), "\n";
}
输出Warning: Division by zero in . . . on line 133
我试图划分的变量在 foreach 循环中。
$num 变量定义在一个包含在内的函数中:
function num_format($n)
{
$n=str_replace(",","",str_replace(" ","",$n));
if(strpos($n,".")===FALSE)
{
if(strpos($n,"K")!==FALSE)
{
$n=str_replace("$","",str_replace("K","000",$n));
}
elseif(strpos($n,"mil")!==FALSE)
{
$n=str_replace("$","",str_replace("mil","000000",$n));
}
elseif(strpos($n,"bil")!==FALSE)
{
$n=str_replace("$","",str_replace("bil","000000000",$n));
}
elseif(strpos($n,"tril")!==FALSE)
{
$n=str_replace("$","",str_replace("tril","000000000000",$n));
}
else
{
$n=str_replace("$","",$n);
}
}
else
{
$n=str_replace(".","",$n);
if(strpos($n,"K")!==FALSE)
{
$n=str_replace("$","",str_replace("K","00",$n));
}
elseif(strpos($n,"mil")!==FALSE)
{
$n=str_replace("$","",str_replace("mil","00000",$n));
}
elseif(strpos($n,"bil")!==FALSE)
{
$n=str_replace("$","",str_replace("bil","00000000",$n));
}
elseif(strpos($n,"tril")!==FALSE)
{
$n=str_replace("$","",str_replace("tril","00000000000",$n));
}
else
{
$n=str_replace("$","",$n);
}
}
global $num;
$num=$n;
}