Home  >  Article  >  Backend Development  >  关于一个数组的转换

关于一个数组的转换

WBOY
WBOYOriginal
2016-06-06 20:52:17917browse

$a = array('dir1', 'dir2', 'dir3', 'file1');
$b = array('dir1', 'dir2', 'dir3', 'file2');
//上面的数组怎么变成下面这种
/*
array(
	'dir1'=>array(
		'dir2'=>array(
			'dir3'=>array('file1', 'file2',)
		)
	)
);
*/

求个算法,谢谢!

回复内容:

$a = array('dir1', 'dir2', 'dir3', 'file1');
$b = array('dir1', 'dir2', 'dir3', 'file2');
//上面的数组怎么变成下面这种
/*
array(
	'dir1'=>array(
		'dir2'=>array(
			'dir3'=>array('file1', 'file2',)
		)
	)
);
*/

求个算法,谢谢!

亲~好吧,我自己弄出来了。

$a = array('dir1', 'dir2', 'dir3', 'file1');
function build($tree, $arr) {
	if(count($arr) == 1) {
		return $arr;
	}
	$key = array_shift($arr);
	$tree[$key] = build($tree, $arr);
	return $tree;
}

$tree = array();
print_r(build($tree, $a));
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn