Heim > php教程 > PHP源码 > Hauptteil

多个数组求笛卡尔积

PHP中文网
Freigeben: 2016-05-24 12:52:50
Original
2708 Leute haben es durchsucht

开发olap自定义立方体报表用到
同事之前没写出来,网上找一个
网上那个比较简洁
把自己写的分享出来,可能比较粗糙

<?php 
$a = array(&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;);
$b = array(1,2,3);
$c = array(&#39;@&#39;,&#39;#&#39;);
print_r(combineDika($a,$b,$c));
/**
 * 所有数组的笛卡尔积
 * 
 * @param unknown_type $data
 */
function combineDika() {
	$data = func_get_args();
	$cnt = count($data);
	$result = array();
	foreach($data[0] as $item) {
		$result[] = array($item);
	}
	for($i = 1; $i < $cnt; $i++) {
		$result = combineArray($result,$data[$i]);
	}
	return $result;
}

/**
 * 两个数组的笛卡尔积
 * 
 * @param unknown_type $arr1
 * @param unknown_type $arr2
 */
function combineArray($arr1,$arr2) {
	$result = array();
	foreach ($arr1 as $item1) {
		foreach ($arr2 as $item2) {
			$temp = $item1;
			$temp[] = $item2;
			$result[] = $temp;
		}
	}
	return $result;
}
Nach dem Login kopieren

                            

2. [图片] 运行结果.jpg多个数组求笛卡尔积 

   1181.jpg

                     

 以上就是多个数组求笛卡尔积的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!