我试图弄清楚如何根据百分比对 URL 数组进行洗牌,以便每个 URL 都被选中一定次数。
<?php
$urls = array(
'http://www.google.com'=>'25%',
'http://www.yahoo.com'=>'25%',
'http://www.bing.com' =>'50%');
我想过走 rand() 路线,只得到一个 1-100 之间的随机数,然后用一堆范围做一个 switch 语句,但这似乎不够优雅和笨拙。我也不知道这样做有多可靠。我试图尽可能接近完美。如果我随机播放 100 次,我不确定大多数 rand() 示例是否会列出上面的数组,其中 google.com 和 yahoo.com 分别被选中 25 次 (+/- 2) 和 bing.com 被选中 50 次。
他们是一种获得准确加权改组的方法吗?谢谢