我需要选择两个单词而不重复它们(PHP)

时间:2015-04-15 23:09:58

标签: php arrays select

我有一个数组列表,我想从这个列表中选择两个单词而不重复它们。但是我尝试了很多东西而没有任何效果。有当前的代码:

$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];

3 个答案:

答案 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));
?>

这将删除数组中的重复值