我有以下代码:
<?php
$gender = array(
'Male'=>30,
'Female'=>50,
'U' =>20);
$total = array_sum(array_values($gender));
$current = 0;
$rand = rand(1,$total);
foreach ($gender as $key=>$value)
{
$current += $value;
if ($current > $rand)
{
echo $key;
}
}
?>
但是,当我运行它时,有时会得到:
男女U
或者:
女U
我为 $gender 数组设置了值,并希望根据给定的百分比生成性别,即在本例中:男性 30,女性 50,未知 20。