PHP Logic - How to handle score ties? -


i'm trying distribute prizes based on scores. i'm having trouble logic when comes tie's. can give me logic pointers on handling tie between 3 or more people?

update: goal --

  1. make array of people have tied (only them)
  2. know position people in.

i have few sample phases can skim through:

example 1 - works 0 ties

<?php function give_prize($a, $b) {return;}  $prize = array(500, 250, 75);  $user = array(     'user1' => 650,     'user2' => 500,     'user3' => 200,     'user4' => 100, );  $prize_count = count($prize);  ($i = 0; $i < $prize_count; $i++) {     give_prize($user[$i], $prize[$i]); } 

example 2 - works 1 tie (is way?)

<?php    ($i = 0; $i < $prize_count; $i++) {      if (isset($user[$i+1])) {         if ($user[$i] == $user[$i++]) {             // tie breaker code         }     } } 

but in tie of 3 or 4 people? should follow above , more if checks?

i start grouping users score , sorting groups in descending order. once complete easier assign prizes no matter rules have.

$usersbyscore = array(); foreach ($user $name => $score) {     $usersbyscore[$score][] = $name; } krsort($usersbyscore); 

for example, turns input $user

$user = array(     'user1' => 500,     'user2' => 400,     'user3' => 750,     'user4' => 500, ); 

into $usersbyscore:

$usersbyscore = array(     750 => array('user3'),     500 => array('user1', 'user4'),     400 => array('user2'), ); 

now can issue prizes like.


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -