Hi! Could we please enable some services and cookies to improve your experience and our website?
Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code
<?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);