> php教程 > php手册 > PHP全组合算法

PHP全组合算法

WBOY
풀어 주다: 2016-06-06 19:38:12
원래의
1060명이 탐색했습니다.

一个简单的递归方法求全组合 无 ?php//组合1$a[] = array('book1', 'book2');//组合2$a[] = array('1', '2', '3');//组合3$a[] = array('z', 'y', 'x');//组合4$a[] = array('sd', 'sds', 'sdsd');$output=combination($a,0);echo "pre";print_r($output);//

一个简单的递归方法求全组合
<?php
//组合1
$a[] = array(&#39;book1&#39;, &#39;book2&#39;);
//组合2
$a[] = array(&#39;1&#39;, &#39;2&#39;, &#39;3&#39;);
//组合3
$a[] = array(&#39;z&#39;, &#39;y&#39;, &#39;x&#39;);
//组合4
$a[] = array(&#39;sd&#39;, &#39;sds&#39;, &#39;sdsd&#39;);
$output=combination($a,0);
echo "<pre class="brush:php;toolbar:false">";
print_r($output);

//其它组合根据需要直接先生成一个array
//注意键值必须为数字




function combination(&$input_arr,$index){
	if($index>=sizeof($input_arr)-1){
		return $input_arr[$index];
	}else{
		$low_b=combination($input_arr,$index+1);
		$b=array();
		foreach($input_arr[$index] as $ch)
			foreach($low_b as $low_arr)
				$b[]=array_merge(array($ch),is_array($low_arr)? $low_arr: array($low_arr));
		return $b;
	}
}
로그인 후 복사
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿