php数组随机不重复去多个值,php从数组中随机选择若干不重复元素的方法

这篇文章主要介绍了php从数组中随机选择若干不重复元素的方法,涉及php数组操作的相关常用技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php从数组中随机选择若干不重复元素的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:

/*

* $array = the array to be filtered

* $total = the maximum number of items to return

* $unique = whether or not to remove duplicates before getting a random list

*/

function unique_array($array, $total, $unique = true){

$newArray = array();

if((bool)$unique){

$array = array_unique($array);

}

shuffle($array);

$length = count($array);

for($i = 0; $i < $total; $i++){

if($i < $length){

$newArray[] = $array[$i];

}

}

return $newArray;

}

$phrases = array('Hello Sailor','Acid Test','Bear Garden','Botch A Job','Dark Horse',

'In The Red','Man Up','Pan Out','Quid Pro Quo','Rub It In','Turncoat',

'Yes Man','All Wet','Bag Lady','Bean Feast','Big Wig', 'Big Wig','Bear Garden'

,'All Wet','Quid Pro Quo','Rub It In');

print_r(unique_array($phrases, 1));

// Returns 1 result

print_r(unique_array($phrases, 5));

// Returns 5 unique results

print_r(unique_array($phrases, 5, false));

// Returns 5 results, but may have duplicates if

// there are duplicates in original array

print_r(unique_array($phrases, 100));

// Returns 100 unique results

print_r(unique_array($phrases, 100, false));

// Returns 100 results, but may have duplicates if

// there are duplicates in original array

希望本文所述对大家的php程序设计有所帮助。

你可能感兴趣的:(php数组随机不重复去多个值)