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程序设计有所帮助。