加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

来自数组的随机值在PHP中

发布时间:2020-12-13 17:35:22 所属栏目:PHP教程 来源:网络整理
导读:我明白这个问题可能已经被问到了,但我不明白先前的问题,足以知道他们是否做我想要的. $fruits = array('20' = 'apple','40' = 'orange','40' = 'pear'); 钥匙是获得价值的机会的百分比.我想要mt_rand()一个介于0和99之间的数字,并根据这些百分比从$fruits返
我明白这个问题可能已经被问到了,但我不明白先前的问题,足以知道他们是否做我想要的.
$fruits = array('20' => 'apple','40' => 'orange','40' => 'pear');

钥匙是获得价值的机会的百分比.我想要mt_rand()一个介于0和99之间的数字,并根据这些百分比从$fruits返回一个值.

这很可能我很困惑,因为我不知道如何解释我正在寻找什么.

提前感谢您的帮助.

编辑:根据这些机会,从$fruits中获取一个随机值:

我想要40%的机会获得橙色,40%的机会获得一个梨,并有80%的机会获得一个苹果.

编辑:为了进一步澄清,由于很多答案都错了(或者我只是不明白他们的代码),我需要一个结果,不管我选哪个号码,不只是20,40或40.

我认为这样做会做你想要的: sample(点击提交按钮多次在样本上获得代码重新执行)
$fruits = array('apple' => '20','orange' => '40','pear' => '40');

$newFruits = array();
foreach ($fruits as $fruit=>$value)
{
    $newFruits = array_merge($newFruits,array_fill(0,$value,$fruit));
}

$myFruit = $newFruits[array_rand($newFruits)];

这将创建一个数组($newFruits),它是一个具有100个元素的数字索引数组.其中20个是“苹果”,40个是“橙”,40个是“梨”.然后我们从该数组中选择一个随机索引. 100次中有20次将获得“苹果”,100次中40次将获得“橙色”,100次中40次将获得“梨”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读