请教随机数中优先级别的使用 既然是随机取,就与优先级无关若要指定优先级,比如6那就在b、g、h中取好了,何必多此一举不理解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主可以这么做如:e -> 7f -> 3g -> 6就可以把7个e,3个f,6个g作为基数,然后在随机在16个字母里取 RE:xuzuning(唠叨) 因为我要取的次数不是一次也就是说优先级别越高的总共取得的次数就越多这样可以吗? 哦,但是你没有说清楚。注意由于是随机提取,所以并不能完全保证“优先级别越高的总共取得的次数就越多”只是取到优先级别高的概率大些<?php$ar = array( // 优先级数组a => 5,b => 6,c => 5,d => 4,e => 7,f => 3,g => 6,h => 6,);$pattern = array();foreach($ar as $k=>$v) { $pattern = array_pad($pattern, count($pattern)+$v, $k); //简单的算法,按优先级扩展数组。你可能要用幂级数展开}print_r($pattern); // 检查srand ((float) microtime() * 10000000);shuffle($pattern); // 打乱数组print_r($pattern); // 检查// 测试$n = count($pattern);for($i=0;$i<10;$i++) echo $pattern[rand(0,$n)];?> 诚求好的php教程或网站 新手,谁愿意当我PHP师父? 问个简单的URL问题 system()执行中的问题 MYSQL,如果定义了一个字符串的字段,长度为255,那么当我添加一个空字符串数据时占用空间吗? 请大虾指教:多人开发WEB程序的问题 菜鸟问题:复选框显示问题 要做一个下载页面,外部的人员无权下载,如何做啊? 在线等,数组问题 没有提示出错信息,却没有提交到数据库中,一般是什么样的错误? 各位大侠能否给小弟一个“收看电视的程序”吗?分全给了 iis+php 如何安装配置
如:
e -> 7
f -> 3
g -> 6
就可以把7个e,3个f,6个g作为基数,然后在随机在16个字母里取
注意由于是随机提取,所以并不能完全保证“优先级别越高的总共取得的次数就越多”只是取到优先级别高的概率大些
<?php
$ar = array( // 优先级数组
a => 5,
b => 6,
c => 5,
d => 4,
e => 7,
f => 3,
g => 6,
h => 6,
);
$pattern = array();
foreach($ar as $k=>$v) {
$pattern = array_pad($pattern, count($pattern)+$v, $k); //简单的算法,按优先级扩展数组。你可能要用幂级数展开
}
print_r($pattern); // 检查
srand ((float) microtime() * 10000000);
shuffle($pattern); // 打乱数组
print_r($pattern); // 检查// 测试
$n = count($pattern);
for($i=0;$i<10;$i++)
echo $pattern[rand(0,$n)];
?>