رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
قرعه کشی
#1
سلام

میخواستم یه سیستم قرعه کشی بنویسم به این صورت هست که هر فرد میتونه از هر دسته بندی فقط یدونه انتخاب کنه و هر دسته یک امتیاز محسوب میشه به نظرم شما چطوری بصورت رندم انتخاب کرد افرادی که تعداد بیشتری امتیاز دارن وزن یا شانس بیشتری برای برنده شدن داشته باشن ؟
پاسخ
تشکر شده توسط:
#2
(29-10-1399، 12:21 ق.ظ)farazsahebdel نوشته: سلام

میخواستم یه سیستم قرعه کشی بنویسم به این صورت هست که هر فرد میتونه از هر دسته بندی فقط یدونه انتخاب کنه و هر دسته یک امتیاز محسوب میشه به نظرم شما چطوری بصورت رندم انتخاب کرد افرادی که تعداد بیشتری امتیاز دارن وزن یا شانس بیشتری برای برنده شدن داشته باشن ؟

<?php
function getMostPriority(array $arr) {
$rand = mt_rand(1, (int) array_sum($arr));

foreach ($arr as $key => $value) {
 $rand -= $value;
 if ($rand <= 0) {
   return $key;
 }
}
}

$arr = array(
'Ali' => '80',
'Bahram' => '90',
'Hasan' => '30',
'Erfan' => '40'
);

echo getMostPriority($arr, 'priority');

با این کد میتونی کاربری که امتیاز بیشتری داره بصورت تصادفی انتخاب کنی (امتیاز بیشتر احتمال انتخاب شدن بالاتر)
الان احتمال برنده شدن بهرام و بعد علی و عرفان بیشتره
پاسخ
تشکر شده توسط: farazsahebdel




کاربران در حال بازدید این موضوع: 1 مهمان