ホームページ > php教程 > php手册 > PHP全组合算法

PHP全组合算法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-06 19:38:12
オリジナル
1065 人が閲覧しました

一个简单的递归方法求全组合 无 ?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 までご連絡ください。
最新の問題
Vue 2.7 与组合 API + Vuex
から 1970-01-01 08:00:00
0
0
0
mysql - 内部結合と左結合の効率の問題
から 1970-01-01 08:00:00
0
0
0
混合支払い
から 1970-01-01 08:00:00
0
0
0
環境に合わせる方法
から 1970-01-01 08:00:00
0
0
0
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート