- <?php
- function combination(){
- $array = array();
- $arguments = func_get_args();
- foreach($arguments as $argument){
- if(is_array($argument) === true){
- $array[] = $argument;
- }else{
- $array[] = array($argument);
- }
- }
- $size = count($array);
- if($size === 0){
- return array();
- }else if($size === 1){
- return is_array($array[0]) === true ? $array[0] : array();
- }else{
- $result = array();
- $a = $array[0];
- array_shift($array);
- if(is_array($array) === false){
- return $result;
- }
- foreach($a as $val){
- $b = call_user_func_array("combination", $array);
- foreach($b as $c){
- if(is_array($c) === true){
- $result[] = array_merge(array($val), $c);
- }else{
- $result[] = array($val, $c);
- }
- }
- }
- return $result;
- }
- }
- print_r(combination(array("A1", "A2"), array("B1", "B2"), "1", array("C1", "C2", "C3")));
- ?>
- //该片段来自于http://www.codesnippet.cn/detail/180120131758.html
来源: http://www.codesnippet.cn/detail/180120131758.html