Home >Backend Development >PHP Tutorial >PHP randomly selects several unique elements from an array

PHP randomly selects several unique elements from an array

WBOY
WBOYOriginal
2016-07-25 08:44:18982browse

php从数组中随机选择若干唯一元素

  1. /*
  2. * $array = the array to be filtered
  3. * $total = the maximum number of items to return
  4. * $unique = whether or not to remove duplicates before getting a random list
  5. */
  6. function unique_array($array, $total, $unique = true){
  7. $newArray = array();
  8. if((bool)$unique){
  9. $array = array_unique($array);
  10. }
  11. shuffle($array);
  12. $length = count($array);
  13. for($i = 0; $i < $total; $i++){
  14. if($i < $length){
  15. $newArray[] = $array[$i];
  16. }
  17. }
  18. return $newArray;
  19. }
  20. $phrases = array('Hello Sailor','Acid Test','Bear Garden','Botch A Job','Dark Horse',
  21. 'In The Red','Man Up','Pan Out','Quid Pro Quo','Rub It In','Turncoat',
  22. 'Yes Man','All Wet','Bag Lady','Bean Feast','Big Wig', 'Big Wig','Bear Garden'
  23. ,'All Wet','Quid Pro Quo','Rub It In');
  24. print_r(unique_array($phrases, 1)); // Returns 1 result
  25. print_r(unique_array($phrases, 5)); // Returns 5 unique results
  26. print_r(unique_array($phrases, 5, false)); // Returns 5 results, but may have duplicates if
  27. // there are duplicates in original array
  28. print_r(unique_array($phrases, 100)); // Returns 100 unique results
  29. print_r(unique_array($phrases, 100, false)); // Returns 100 results, but may have duplicates if
  30. // there are duplicates in original array
复制代码

组中, php


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Collection class of PHPNext article:Collection class of PHP