PHP实现 一位数组转化为多维数组:
<?php
$arr = [['a', 'b', 'c', 'd', 'e',],['a', 'b', 'b', 'd', 'e',],['c', 't', 'v', 'd', 'e',],
];function treeMap($arr){$dtree = [];foreach ($arr as $md5 => $item) {$dtree = array_merge_recursive($dtree, tree($item, 1));}return $dtree;
}function tree($arr, $num) {$tree = [];$tmp = &$tree;foreach ($arr as $key) {$tmp[$key] = [];$tmp = &$tmp[$key];}$tmp = $num;return $tree;
}print_r(treeMap($arr));
PHP实现 array_merge_recursive 函数:
<?php
$a1 = ['a' => ['b' => ['c' => ['d' => [],],],],
];$a2 = ['a' => ['b' => ['c' => ['e' => ['f' => 1,],],],],
];
$a3 = [];function merge($a1, $a2) {if ( !is_array($a1) && !is_array($a2) ) {return false;}$v1 = key($a1); $v2 = key($a2);if ( $v1 != $v2 ) {$tmpArr[$v1] = $a1[$v1];$tmpArr[$v2] = $a2[$v2];return $tmpArr;} else {$tmpArr[$v1] = merge($a1[$v1], $a2[$v1]);}return $tmpArr;
}$newArr = merge($a1, $a2);
print_r($newArr);