警告:除以PHP检查

时间:2013-08-21 05:02:49

标签: php business-logic

我正在使用symfony 1.1来读取API并将值存储在DB

if(($xmlArray->{'MDD'} == 0) || ($xmlArray->{'MDD'} == '0') ){  
       $autoStraObj->setRisk(' - ');
    }else{
       $autoStraObj->setRisk(round(($xmlArray->{'Pips'} / $xmlArray->{'MDD'}), 10));
    }

对于某些记录,上面的代码以

结果

警告:在零之间划分.... 不确定,这就是问题

3 个答案:

答案 0 :(得分:1)

首先检查$xmlArray->{'MDD'}是否为零。如果某些记录为零则会出现此错误。

if(($xmlArray->{'MDD'} != 0) && ($xmlArray->{'MDD'} != ''))
{
   $autoStraObj->setRisk(round(($xmlArray->{'Pips'} / $xmlArray->{'MDD'}), 10));
}

或者只是

if(!empty( $xmlArray->{'MDD'}) ) {
   $autoStraObj->setRisk(round(($xmlArray->{'Pips'} / $xmlArray->{'MDD'}), 10));
}

或者 cHao 表示尝试

if (+$xmlArray->{'MDD'} != 0) {
   $autoStraObj->setRisk(round(($xmlArray->{'Pips'} / $xmlArray->{'MDD'}), 10));
}

答案 1 :(得分:0)

因为某些记录$xmlArray->{'MDD'}等于零。

为避免这种情况 - 首先检查是否有0并且不分,只显示“0”。

答案 2 :(得分:0)

请检查


if(empty($xmlArray->{'MDD'})){  
       $autoStraObj->setRisk(' - ');
    }else{
       $autoStraObj->setRisk(round(($xmlArray->{'Pips'} / $xmlArray->{'MDD'}), 10));
    }