PHP求一个含有N个元素的数组中取出M个元素组成新的数组,一共可以组合成的数组并输出

西部世界
西部世界
管理员
352
文章
0
粉丝
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;
}
?>
结果


Array
(
    [0] => abcd
    [1] => abdd
    [2] => accd
    [3] => acdd
    [4] => adcd
    [5] => addd
    [6] => bbcd
    [7] => bbdd
    [8] => bccd
    [9] => bcdd
    [10] => bdcd
    [11] => bddd
    [12] => cbcd
    [13] => cbdd
    [14] => cccd
    [15] => ccdd
    [16] => cdcd
    [17] => cddd
    [18] => dbcd
    [19] => dbdd
    [20] => dccd
    [21] => dcdd
    [22] => ddcd
    [23] => dddd
)

文章末尾固定信息

 
西部世界
  • 本文由 西部世界 发表于2021年2月4日 22:30:06
  • 转载请务必保留本文链接:https://www.cnhawkit.com/1436.html
匿名

发表评论

匿名网友

拖动滑块以完成验证