English 中文(简体)
2. 从多数选定价值一的阵列中实现随机价值
原标题:Make an random value from array where most selected value will one
  • 时间:2012-01-15 04:10:39
  •  标签:
  • php

如何从阵列中获取随机值,将比其他阵列多一个阵列的价值?

array( 00 , 01 , 02 );

我想从这一阵列中挑选出一个随机值,其中多数选定的数值为00,即800数值将选定80%,其他两个数值为20%。

在这里,阵列可以具有许多价值观,它只有一个具有三个价值观的例子。

最佳回答
$main_array=array( 00 , 01 , 02 );

$priority=array(0,0,0,0,0,0,0,0,1,2);

$rand_index=array_rand($priority);//select a random index from priority array.. $priority[$rand_index] will give you index 0 or 1 or 2 with your priority set..

echo $main_array[$priority[$rand_index]];

我认为,该守则是自我解释的。

<><><>Array>有许多内容<>>。 如果说需要的话,其他要素的“00”28%的“01”概率就等于...... 在此情况下,使用阵列——填充功能填充质量......和阵列......

和同一案件一样,我已做回答。

$main_array=array( 00 , 01 , 02 );
$priority1=array_fill(0,69,2);
$priority2=array_fill(0,28,1);
$priority3=array_fill(0,3,0);    
$priority=array_merge($priority1,$priority2,$priority3);

$rand_index=array_rand($priority);

echo $main_array[$priority[$rand_index]];
问题回答

这里有一个想法。

$arr = array( 00 ,  01 ,  02 );
$randInt = rand(1, 10);

if ($randInt <= 8) {
    $value = $arr[0];
}
else if ($randInt == 9) {
    $value = $arr[1];
}
else { // ($randInt == 10)
    $value = $arr[2];
}

现在有80%的机率()包含00,10%的机率包含01,10%的机率包含02。 这可能不是最有效的解决办法,但它将发挥作用。

多种备选办法之一

$a = array_fill(0, 8,  0 );
$a[ 9 ]= 1 ;
$a[ 10 ]= 2 ;

echo $a[array_rand($a,1)];

使用与概率分布平行的阵列,例如:

array( 80 ,  10 ,  10 );

利用标准随机编号功能生成数量在0至99之间,然后在这种阵列中加以研究。 您发现,该指数当时被用作数值阵列的指数。





相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签