PHP数组按照概率返回的算法

昔梦无痕 2012-05-10 11:47:12
现在有一9键数组:
$arr = array(1,2,3,4,5,6,7,8,9);
我希望:
1的返回概率是30%
2的返回概率是20%
3的返回概率是10%
4的返回概率是50%
其他的不管
这样的算法怎么算呢
...全文
374 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hengyu654 2012-05-10
  • 打赏
  • 举报
回复
30% + 20% + 10% + 50% = 110%
这个真做不出来!
ci1699 2012-05-10
  • 打赏
  • 举报
回复
这个意思么?

$ConfigArr = array('30%', '20%', '10%', '50%');

$arr = array(1,2,3,4,5,6,7,8,9);
foreach ($arr as $key=>$val)
echo isset($ConfigArr[$key]) ? $val.'概率是:' . $ConfigArr[$key] . '<br />': '';
ohmygirl 2012-05-10
  • 打赏
  • 举报
回复
同意amani11的想法。
@#2 至于每个数是否被返回,完全是独立事件,为什么管它和是否大于100%呢?
ci1699 2012-05-10
  • 打赏
  • 举报
回复
不是吧。。刚换件衣服不久,这么快被发现了……

[Quote=引用 3 楼 的回复:]
我擦。。头像还会换衣服。

[/Quote]
amani11 2012-05-10
  • 打赏
  • 举报
回复
那就逐个随机,比如随机1-100个数。对1,<=30返回,再次随机,对2,<=20返回

总之返回结果可能超过1个就对啦
libo_sina 2012-05-10
  • 打赏
  • 举报
回复
是不是 ,通过一个函数 返回 $arr = array(1,2,3,4,5,6,7,8,9); 中的数字;

返回的楷率是:

1的返回概率是30%
2的返回概率是20%
3的返回概率是10%
4的返回概率是50%

!
是这样的吗?
完全摸得想法啊?
猛仔不萌 2012-05-10
  • 打赏
  • 举报
回复
比如说,从$arr里面取5个元素,取十次,1,2,3,4分别出现3,2,1,5次。是这意思吗?
猛仔不萌 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 1 楼 的回复:

这个意思么?

$ConfigArr = array('30%', '20%', '10%', '50%');

$arr = array(1,2,3,4,5,6,7,8,9);
foreach ($arr as $key=>$val)
echo isset($ConfigArr[$key]) ? $val.'概率是:' . $ConfigArr[$k……
[/Quote]

我擦,我也发现了,原来是黄色的
qq120848369 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

这个意思么?

$ConfigArr = array('30%', '20%', '10%', '50%');

$arr = array(1,2,3,4,5,6,7,8,9);
foreach ($arr as $key=>$val)
echo isset($ConfigArr[$key]) ? $val.'概率是:' . $ConfigArr[$key] . '<br />':……
[/Quote]

我擦。。头像还会换衣服。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧