如何从PHP中的单个数组中提取3个唯一值?

时间:2016-07-31 23:45:16

标签: php arrays

我有一个数组,我需要从中提取多个值,但我不能重复这些值。

这就是我现在正在做的事情,但它不会阻止相同值的倍数。

我的数组是:

$boom = array("1", "2", "3", "4", "5", "6");

我正在使用此代码中的3个来提取值:

echo $boom[array_rand($boom,1)];

页面上下文中的最终结果如下所示 - “1,4,3”(或数字的任何变体......)但我的问题是我需要脚本拉3非 - 重复值。

我该怎么做?

1 个答案:

答案 0 :(得分:4)

使用array_unique()获取唯一值,然后使用shuffle()随机输入订单。然后,您可以使用array_slice()获取前三个元素,然后可以使用implode()将它们输出为逗号分隔的字符串。

$a = array_unique(array("1", "2", "3", "4", "5", "6"));
shuffle($a);
$b = array_slice($a, 0, 3);
echo implode(',', $b);

Demo