閱讀98 返回首頁    go 阿裏雲 go 技術社區[雲棲]


笛卡爾積

<?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; }

最後更新:2017-04-25 21:00:40

  上一篇:go 如何高效存儲GPS數據
  下一篇:go window對象知識總結