龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

数组 php从数组中随机选择若干不重复元素

时间:2014-06-04 15:00来源:网络整理 作者:网络 点击:
分享到:
php从数组中随机选择若干不重复元素 [代码片段(34行)]
<?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

精彩图集

赞助商链接