从数组中选择 3 个不同的随机值
我有一个包含30个值的数组,我需要从这个数组中提取3个不同的随机值。我该怎么做?
我不知道为什么要费心使用,因为它只是一个额外的函数调用,似乎没有原因。简单地将前三个元素切片:array_rand()
shuffle()
shuffle($array);
print_r(array_slice($array, 0, 3));
无耻地从PHP手册中窃取:
<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>
请注意,从 PHP 5.2.10 开始,您可能希望随机排列(随机化)通过 返回的密钥,否则它们将始终按顺序排列(最小索引优先)。也就是说,在上面的例子中,你可以得到“Neo,Trinity”,但永远不会得到“Trinity,Neo”。shuffle($rand_keys)
如果随机元素的顺序不重要,那么上面的代码就足够了。