>php教程 >PHP源码 >php数组组合算法

php数组组合算法

PHP中文网
PHP中文网원래의
2016-05-25 17:12:011317검색

1. [PHP]代码  

<?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")));
?>

                   

                   

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.