基本的に、Web サイトにログインし、Web サイトから要素を取得し、ある要素を別の要素で分割するスクリプトを作成しました。問題は、私はすでに何度もチェックしており、除数がゼロではないことです。ここにスニペットがあります:
if($num==0)
{
echo "<td>".$estate_income."/".$num."</td>";
}
else
{
echo "<td>".$estate_income/$num."</td>";
}
これ50/2000
は、if ステートメントが true であることを意味し、$num が何らかの形で 0 に等しいことを意味します。2 つの変数を互いに除算しようとすると、次のように出力されます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;
}