1. 程式人生 > >PHP 任意組合

PHP 任意組合

本文轉載:http://blog.lihuanliang.com/?p=124
/**
 * 任意組合
 * @param $arr 陣列
 * @param $count 陣列中任意組合的個數(如:array('a','b','c'),2則為陣列*中任意兩個字母的組合,傳3則為三個字母的任意組合,超過陣列元素個數或者數量小於等於0則返回空陣列)
 * @return array
 */
function ArbitraryCombination($arr, $count) {
    $result = array();
    if ($count <= 0 || $count > count
($arr)) { return $result; } for ($i=0; $i<count($arr); $i++) { $tem1_arr = $arr; $result1 = array_splice($tem1_arr, $i, 1); if ($count == 1) { $result[] = $result1; } else { $tem2_arr = ArbitraryCombination($tem1_arr, $count-1); foreach
($tem2_arr as $v) { $result[] = array_merge($result1, $v); } } } return $result; } $arr = array("a", "b", "c"); $result = ArbitraryCombination($arr, count($arr)); print_r($result);