PHPize Online / SQLize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
Copy Clear
Copy Format Clear
<?php $arr = [ '431600986' => [ 'range' => [ 'to' => 1, 'from' => 1 ] ], '795276879' => [ 'range' => [ 'to' => 4, 'from' => 2 ] ] ]; $maxRange = 0; foreach ($arr as $item) { $maxRange += $item['range']['to'] - $item['range']['from'] + 1; } $countWin = 2; // всего победителей $arrWinners = []; // ID победителей while ($countWin > 0 && $maxRange > 0) { $randNum = mt_rand(1, $maxRange); $currRange = 0; foreach ($arr as $key => $item) { $currRange += $item['range']['to'] - $item['range']['from'] + 1; if ($currRange >= $randNum) { if (!in_array($key, $arrWinners)) { $arrWinners[] = $key; $countWin--; } break; } } $maxRange--; } var_dump($arrWinners);
Show:  
Copy Clear