chasecrawford/ratings

该包已被废弃且不再维护。未建议替代包。
关于该包最新版本(1.0.0)的许可证信息不可用。

一个实现了Elo评分系统和评分百分比索引的PHP类。

1.0.0 2023-01-11 00:00 UTC

This package is not auto-updated.

Last update: 2023-04-19 19:47:09 UTC


README

一个实现了Elo评分系统和评分百分比索引的PHP类。

安装

composer require chasecrawford/ratings

使用Elo

根据结果计算竞争对手的新Elo评分

use ChaseCrawford\EloRating\Elo;

$newEloRating = Elo::calc(
    1000,   // (float) competitor elo rating
    1000,   // (float) opponent's elo rating
    71,     // (int) competitor score
    70,     // (int) opponent score
    0       // (int) number of matches competitor played previously (optional)
)

从一组结果中找到所有竞争对手的Elo评分

$results = [...];
$elo = new Elo();

foreach($results as $result) {
  $elo->addResult(
       $result['competitorOneName'],  // (string) unique name for competitor 1
       $result['competitorTwoName'],  // (string) unique name for competitor 2
       $result['competitorOneScore'], // (int) score for competitor 1
       $result['competitorTwoScore']  // (int) score for competitor 2
  )
}

print_r($elo->getCompetitors())

使用RPI

use ChaseCrawford\RatingPercentageIndex\RPI;

$results = [...];
$rpi = new RPI();

foreach($results as $result) {
  $rpi->addResult(
       $result['competitorOneName'],  // (string) unique name for competitor 1
       $result['competitorTwoName'],  // (string) unique name for competitor 2
       $result['competitorOneScore'], // (int) score for competitor 1
       $result['competitorTwoScore'], // (int) score for competitor 2
  )
}

print_r($rpi->getCompetitors())