来自数组的随机值在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次将获得“梨”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |