不一致的数据,不太确定在哪里出错



我目前正在通过足球游戏数据进行循环,并试图计算所有可以在此处看到的信息。

但是,我的代码似乎出错了,在这里看看,让我们以赫尔城团队为例。

所以,下面是我的循环,如果我的班级不是为该团队制作的实例,则它是创建的,如果它是制造的,则使用现有的。

  foreach ( $soccerseason->getAllFixtures()->fixtures as $v ) {
          if ($v->status == "FINISHED") {
            // Add data from home team
            if (!array_key_exists($v->homeTeamName, $teamData)) {
              $teamData[$v->homeTeamName] = new Calc(array($v->result->goalsHomeTeam, $v->result->goalsAwayTeam));} else {
              $teamData[$v->homeTeamName]->addData(array($v->result->goalsHomeTeam, $v->result->goalsAwayTeam));
            }
            if (!array_key_exists($v->awayTeamName, $teamData)) {
              $teamData[$v->awayTeamName] = new Calc(array($v->result->goalsHomeTeam, $v->result->goalsAwayTeam));} else {
              $teamData[$v->awayTeamName]->addData(array($v->result->goalsHomeTeam, $v->result->goalsAwayTeam));
            }
          }
        }

这是我的Calc课程,这应该可以正常工作,我无法弄清楚这个问题。

class Calc {
    public $config;
    public $win = 0, $draw = 0, $loss = 0, $goalFor = 0, $goalConc = 0;
    public function __construct($payload) {
      // Load config file
      $this->config = parse_ini_file('config.ini', true);
      // Add wins, losses, draws, goals for and goal conceived
      $this->addData($payload);
    }
    // Linked data updated, ammend values
    public function calcPlays() {
      return 0 + $this->win + $this->draw + $this->loss;
    }
    public function calcPoints() {
      // Add 0 to ensure value is a int
      return (0 + ($this->win * $this->config->winPoints) +
        ($this->draw * $this->config->drawPoints) +
        ($this->loss * $this->config->lossPoints));
    }
    public function calcGoalDifference() {
      return ($this->goalFor + $this->goalConc);
    }
    public function addData($data) {
      // Append goal data
      $this->goalFor += $data[0]; $this->goalConc += $data[1];
      if ($data[0] > $data[1]) { $this->win++; } elseif
      ($data[0] < $data[1]) { $this->loss++; } elseif
      ($data[0] == $data[1]) { $this->draw++; }
    }
  }

事实证明,我需要在计算客车团队是否赢得胜利时将数据交换。

  if (!array_key_exists($v->homeTeamName, $teamData)) {
              $teamData[$v->homeTeamName] = new Calc(array($v->result->goalsHomeTeam, $v->result->goalsAwayTeam));
            } else {
              $teamData[$v->homeTeamName]->addData(array($v->result->goalsHomeTeam, $v->result->goalsAwayTeam));
            }
            if (!array_key_exists($v->awayTeamName, $teamData)) {
              $teamData[$v->awayTeamName] = new Calc(array($v->result->goalsAwayTeam, $v->result->goalsHomeTeam));
            } else {
              $teamData[$v->awayTeamName]->addData(array($v->result->goalsAwayTeam, $v->result->goalsHomeTeam));
            }

最新更新