【问题标题】:Laravel, division by zeroLaravel,除以零
【发布时间】:2020-10-27 02:57:29
【问题描述】:

我正在尝试获取在玩游戏时退出的玩家百分比,所以我有错误:除以零。按标准在游戏中0个参与者,0个退出玩家。 在刀片中:{{ $withTotal }},在控制器中

$withTotal = $this->getWithPerc();
return view('pages.crash', compact('withTotal'));
private function getWithPerc()
    {
      $withUsers = CrashBets::where(['round_id' => $this->game->id, 'status' => 1])->count();
      $NowithUsers = CrashBets::where(['round_id' => $this->game->id, 'status' => 0])->count();
      $totalUsers = $withUsers + $NowithUsers;
      $next1 = $totalUsers / 100;
      $next2 = $withUsers / $next1;
      return $next2;
    }

在游戏下注后开始获取参与者和退出游戏的人数。所以在这之后我得到了这个错误。我该如何解决这个问题?谢谢大家:)

【问题讨论】:

  • 不要除以零。如果$next1 为 0,则返回 0,否则像你已经做的那样除。
  • 谢谢!这是愚蠢的错误xD

标签: laravel


【解决方案1】:

您可以在进行第二次操作之前检查 $next1 是否不为零:解决方案如下:

private function getWithPerc()
{
  $withUsers = CrashBets::where(['round_id' => $this->game->id, 'status' => 1])->count();
  $NowithUsers = CrashBets::where(['round_id' => $this->game->id, 'status' => 0])->count();
  $totalUsers = $withUsers + $NowithUsers;
  $next1 = $totalUsers / 100;

   if($next1 == 0) 
       return 0;

  $next2 = $withUsers / $next1;
  return $next2;
}

【讨论】:

  • 非常感谢!
猜你喜欢
  • 1970-01-01
  • 2016-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多