【发布时间】:2010-06-20 23:25:55
【问题描述】:
如何制作特殊的随机数组。我有array(1=>35,2=>25,3=>40)。如何使数组显示特殊元素的可能性。前任。
如果我想从数组中获取 100 个元素。会是
35/100 +-10 - must bee 1 element,
25/100 +-10 = must be 2 element,
40/100 +-10 - must be 3 element.
元素必须是随机的,但大多数元素 +-10。我知道这段代码可能是什么原因:
$a = array_fill(1, 35, 1);
$b = array_fill(36, 60, 2);
$c = array_fill(61, 100, 3);
数组看起来像array(35 elements with value 1, 25 elements with value 2, 40 elements with value 3)
并使用 merge 和 array_rand 我会得到我的代码。但我不想要这个代码。它将创建 100 个项目。需要优化这段代码。这是可能的。帮助。 :-)
【问题讨论】:
-
您想创建一个包含 100 个元素的数组,因此值为 1 的元素数量为
a in [25,45],值为 2 的元素数量为b in [15,35],值为 3 的元素数量是c in [30,50]?您的问题已详细说明,您需要说明a、b和c遵循哪些分布。没有它,我们无法分辨,例如如果您得到a=25和c=50的可能性一样。
标签: php optimization arrays random