<?php
$prizes = [
    ["name" => "奖品1", "weight" => 2], // 20%
    ["name" => "奖品2", "weight" => 3], // 30%
    ["name" => "奖品3", "weight" => 5] // 50%
];

// 计算权重总和
$totalWeight = array_sum(array_column($prizes, 'weight'));

// 生成 1 ~ $totalWeight 之间的随机数
$randomValue = mt_rand(1, $totalWeight);

$currentWeight = 0;
foreach ($prizes as $prize) {
    $currentWeight += $prize["weight"];
    if ($randomValue <= $currentWeight) {
        echo "抽中:" . $prize["name"];
        break;
    }
}