我使用php的rand
。下面的脚本工作正常,但我的问题是为数组中的一个值赋予优先级(显示多次)。例如100次随机显示值,是否可以使用dofollow
回显0到99次,并使用nofollow
显示rand
1次
<?php
$input_nofollow = array("nofollow", "dofollow");
$random = rand(0, 1);
echo $input_nofollow[$random];
?>
任何建议都会很棒。
答案 0 :(得分:3)
$random = rand(0, 100);
$selected_key = 0;
if($random < 90) $selected_key = 1;
else $selected_key = 0;
echo $input_nofollow[$selected_key];
这使您有90%的机会获得索引1.
答案 1 :(得分:1)
听起来你正在寻找 shuffle ,而不是随机生成器。创建一个包含99“a”和一个“b”的数组,shuffle
,按顺序输出。
或者,如果计数器等于随机数输出“b”,则生成1到100之间的随机数,带有计数器的循环,否则为“a”。
答案 2 :(得分:1)
尝试类似这样的事情:
<?php
$input_nofollow = array("nofollow", "dofollow");
$random = rand(0, 100);
$i = 0;
while (1 /* Your Condition */ )
if (++$i > 100) {
$i = 0;
$random = rand(0, 100);
}
if ($i == $random)
echo $input_nofollow[0];
else
echo $input_nofollow[1];
}
?>