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

php数组组合算法

PHP中文网
PHP中文网asal
2016-05-25 17:12:011317semak imbas

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

                   

                   

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP 二维数组分页处理Artikel seterusnya:几个有用的php函数