首页 > 解决方案 > 变量中的数组但使用条件时出错

问题描述

我正在尝试将if其中一个条件设为null有价值,然后其他但我收到错误:

ErrorException (E_NOTICE) 未定义变量:average_winning_trade

DD(winning_trades_profit)结果 : []

这是条件代码:

 if(!empty($losing_trades_loss   && $profitable_trades  && $winning_trades_profit   && $losing_trades)) {
              $average_winning_trade = round(array_sum($winning_trades_profit) / $profitable_trades);
              $average_losing_trade = array_sum($losing_trades_loss) / $losing_trades;
              $payoff_ratio_per_trade = abs(round($average_winning_trade / $average_losing_trade, 2));
          }else  { $payoff_ratio_per_trade ="0";}

标签: php

解决方案


如您的错误代码所示

ErrorException (E_NOTICE) 未定义变量:average_winning_trade

这意味着您正在尝试在代码中的其他位置调用该变量,而该变量尚未设置。这可能是在您到达此处放置的 if 语句之前或之后。但是,此 if 语句不会导致出现错误。

更新

您当前的 if 语句如下:

如果不是空的 $losing_trades_loss 和 $profitable_trades 和 $Winning_trades

但你显然想要

如果不是空的 $losing_trades_loss 或 $poritable_trades 或 $winning_trades

所以更新你的if语句如下:

if(!empty(
    $losing_trades_loss || 
    $profitable_trades || 
    $winning_trades_profit || 
    $losing_trades)) {
          $average_winning_trade = round(array_sum($winning_trades_profit) / $profitable_trades);
          $average_losing_trade = array_sum($losing_trades_loss) / $losing_trades;
          $payoff_ratio_per_trade = abs(round($average_winning_trade / $average_losing_trade, 2));
      }else  { $payoff_ratio_per_trade ="0";}

推荐阅读