我有一个数组列表,我想从这个列表中选择两个单词而不重复它们。但是我尝试了很多东西而没有任何效果。有当前的代码:
$randomq2[] = "one";
$randomq2[] = "two";
$randomq2[] = "three";
srand ((double) microtime() * 1000000);
$getrando1 = rand(0,count($randomq2)-1);
$getrando2 = rand(0,count($randomq2)-1);
$wordone = $getrando1[$conco1];
$wordtwo = $getrando2[$conco2];
答案 0 :(得分:6)
这应该适合你:
(这里我首先从$randomq2
获取array_unique()
的所有唯一元素。然后我只是shuffle()
数组,最后我只是从{{3开始提取2个元素}})
<?php
$randomq2 = array_unique($randomq2);
shuffle($randomq2);
$random = array_slice($randomq2, 0, 2);
print_r($random);
?>
答案 1 :(得分:1)
你可以采取以下方式:
$getrando1 = rand(0,count($randomq2)-1);
$getrando2 = rand(0,count($randomq2)-1);
while ($getrando2 == $getrando1)
$getrando2 = rand(0,count($randomq2)-1);
另外 - 我建议你使用mt_rand而不是简单的rand
答案 2 :(得分:0)
我没有很好地理解你的问题
但试试这个
<?php
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(array_unique($a));
?>
这将删除数组中的重复值