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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...