<?php
function neglogic($x,$y)
{
if ($x<0.0 && $y>=0.0 )
{
$p1=("1");
}
elseif ($x<<0.0 && $y<<0.0 )
{
$p1=($x/$y);
}
if ($x==0.0 && $y>=0.0 )
{
$p1=("1");
}
elseif ($x==0.0 && $y<0.0 )
{
$p1=("0.05");
}
if ($x>0.0 && $y <=0.0)
{
$p1=("0.20");
}
elseif($x>0.0 && $y >0.0)
{
$q1=($x-$y);
if ($q1>=0)
{
$p1=("0.20");
}
if ($q1<0)
{
$p1=("1.0");
}
}
return $p1;
}
?>
これは問題なく動作するスクリプトですが、(-1 から -0.001) の間の値では失敗することに気付きました。
以下をお試しください 2 番目 (-.8,-2) で $pq が定義されていないと言って失敗します。
最初に $p1 を定義できることはわかっていますが、2 番目の数字で失敗する理由を知りたいです。
<?php
echo neglogic(-8,-2);
?>
<?php
echo neglogic(-0.8,-2);
?>