开发olap自定义立方体报表用到
同事之前没写出来,网上找一个
网上那个比较简洁
把自己写的分享出来,可能比较粗糙
<?php $a = array('A','B','C','D'); $b = array(1,2,3); $c = array('@','#'); 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; }
以上就是多个数组求笛卡尔积的内容,更多相关内容请关注PHP中文网(www.php.cn)!