简体   繁体   English

警告:除以零的PHP检查

[英]Warning: Division by zero PHP check

I am using symfony 1.1 to read an API and store the values in DB 我正在使用symfony 1.1来读取API并将值存储在DB中

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

For Some Records, the above code results with 对于某些记录,以上代码的结果为

Warning: Division by zero in.... Not sure, that is the issue here 警告:除以零英寸。...不确定,这就是问题所在

First check $xmlArray->{'MDD'} is zero or not.If it is zero for some records then it will give you this error. 首先检查$xmlArray->{'MDD'}是否为零,如果某些记录为零,则会出现此错误。

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

Or simply 或者简单地

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

Or as cHao said try like 或如cHao所说尝试

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

Because for some records $xmlArray->{'MDD'} equals zero. 因为对于某些记录, $xmlArray->{'MDD'}等于零。

To avoid this - first check if there is a 0 and do not divide, just show "0" instead. 为避免这种情况-首先检查是否存在0且不除,只需显示“ 0”即可。

Please check for 请检查


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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM