PHP - 从数组中获取5个唯一值

时间:2013-09-21 15:01:50

标签: php arrays unique

我有一系列字母,我想挑选5个独特的字母。

$variable_array = array('x', 'n', 'f', 'w', 'g', 'r', 'c', 'm', 'y', 'u', 'p', 'a', 'd', 'h', 'k', 'z');

所以,我想要这样的东西......

$variable_1 = $variable_array[array_rand($variable_array)];
$variable_2 = $variable_array[array_rand($variable_array)];
$variable_3 = $variable_array[array_rand($variable_array)];
$variable_4 = $variable_array[array_rand($variable_array)];
$variable_5 = $variable_array[array_rand($variable_array)];

但所有变量都必须是唯一的。我知道Stackoverflow上还有其他类似的答案,但它们似乎与我的情况略有不同。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

PHP shuffle():http://php.net/manual/en/function.shuffle.php

// make sure you have only unique values in your array
// $variable_array = array_unique($variable_array);


// randomize array
shuffle($variable_array);

// get 5 elements like suggested in the comments:
// $top5_array = array_slice($variable_array, 0, 5);
$top5_array = ARRAY();

// do 5 times ...
//
// if (is_array($variable_array) AND count($variable_array) >=5) {
//
for ($i=0; $i<=4; $i++) {
  $top5_array[] = $variable_array[$i];
  print $variable_array[$i].'<br />';
}

var_dump($top5_array);