我需要将csv中的以下数据转换为嵌套树
S.No Name
1 A
1.1 B
1.1.1 C
1.1.2 D
2 E
2.1 F
2.2 G
是否可以使用S.No
将array keys
设为1.1.1
至$test[1][1][1]
,然后我可以将相应的Name
存储为值。
或者我应该制作父子类型数组? 将此转换为树/嵌套列表的最佳方法是什么?
答案 0 :(得分:4)
您可以使用此函数在数组中设置嵌套值:
function set_nested_value(array &$array, $index, $value)
{
$node = &$array;
foreach (explode('.', $index) as $path) {
$node = &$node[$path];
}
$node = $value;
}
$a = array();
set_nested_value($a, '1.1.1', 'A');
print_r($a);
输出:
Array
(
[1] => Array
(
[1] => Array
(
[1] => hello
)
)
)