felony13twelve
@felony13twelve

Как сделать вывод значения шансом?

Здравствуйте! Помогите пожалуйста, у меня есть вот такой массив
$arr = array( 
 'er' => array( 
    'change' => 4, 
    'text' => '1' 
 ), 
 'gg' => array( 
    'change' => 25, 
    'text' => '2' 
 ), 
 'sd' => array( 
    'change' => 50, 
    'text' => '3' 
 ), 
 'tt' => array( 
    'change' => 99, 
    'text' => '4' 
 ) 
);

У них у каждого есть ключ change как мне сделать вывод текста который в массиве и с шансом которые в массиве?
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
nokimaro
@nokimaro Куратор тега PHP
<?php
$arr = array( 
 'er' => array( 
    'change' => 4, 
    'text' => '1' 
 ), 
 'gg' => array( 
    'change' => 25, 
    'text' => '2' 
 ), 
 'sd' => array( 
    'change' => 50, 
    'text' => '3' 
 ), 
 'tt' => array( 
    'change' => 99, 
    'text' => '4' 
 ) 
);

foreach($arr as $key => $val)
{
    $chance = $val['change'];
    $roll = mt_rand(1, 100); //делаем рандом от 1 до 100

    //если мы попали в диапазон от 1 до $chance то выводим text
    if($roll <= $chance)
    {
        echo "Выводим {$val['text']} так как рольнули {$roll} при шансе {$chance}\n";
    }
    else
    {
        echo "Не выводим {$val['text']} так как рольнули {$roll} при шансе {$chance}\n";
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы