当前位置:编程学习 > php >>

PHP输出多个元素的排列组合

解决问题:求一个含有N个元素的数组中取出M个元素组成新的数组,一共可以组合成的数组并输出
[php] 
<?php 
$arr = array('a','b','c','d'); 
$result = array(); 
$t = getCombinationToString($arr, 4); 
print_r($t); 
 
function getCombinationToString($arr, $m) { 
    if ($m ==1) { 
       return $arr; 
    } 
    $result = array(); 
     
    $tmpArr = $arr; 
    unset($tmpArr[0]); 
    for($i=0;$i<count($arr);$i++) { 
        $s = $arr[$i]; 
        $ret = getCombinationToString(array_values($tmpArr), ($m-1), $result); 
         
        foreach($ret as $row) { 
            $result[] = $s . $row; 
        } 
    } 
     
    return $result; 

?> 
补充:Web开发 , php ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,