【发布时间】:2014-08-24 11:25:42
【问题描述】:
首先,我创建了一个由 6 个元素组成的数组。然后我随机选择 4 个很好的元素(我的意思是在随机位置上)。
现在,我想从 4 个非常好的选择中随机挑选 2 个。 如果array1 的值与array2 相同,那么我希望它说非常好。否则,说好。如果值为 0,则为 BAD。
我尝试了所有可能的方法,但都失败了。
这是我最后一次尝试这样做......
$array1 = array();
$array2 = array();
while (count($array1) < 4) {
$rand = rand(1,6);
if (!isset($array1[$rand])) {
$array1[$rand] = TRUE;
}
}
while (count($array2) < 2) {
$rand = rand(1,4);
if (!isset($array2[$rand])) {
$array2[$rand] = TRUE;
}
}
$array2 = $array2 + array_fill(1, 4, FALSE);
$array1 = $array1 + array_fill(1, 6, FALSE);
ksort($array1);
ksort($array2);
foreach($array1 as $k => $v){
if ($v != 0)
{echo "GOOD<br>";}
else {echo "BAD<br>";}}
foreach($array2 as $kc => $vc){
if ($v2 !=0)
{echo "VERY GOOD<br>";}
else {echo "BAD<br>";}}
这就是它给我的:
GOOD
GOOD
BAD
GOOD
GOOD
BAD
VERY GOOD
BAD
BAD
VERY GOOD
如您所见,它给了我 4/6 的商品,然后是 2/6 的非常好的商品。 我想要的是 4/6 的商品,而从这 4 款中,我想要 2/4 的非常好的商品。
我该怎么做?
提前致谢, 弗拉德
【问题讨论】:
-
$array = $array + array_fill(1, 6, FALSE);?也许$array1应该在这里? -
对不起,我在这里打错了。它在代码中有 $array1...
-
Cannot reproduce, 4/6 和 2/4
-
“无法复制”是什么意思?
-
当我使用你的代码并对其进行格式化时,我意识到我得到了 4/6 的商品和 2/4 的非常商品,那么问题是什么?