嵌套编号到数组键

时间:2013-11-28 07:07:33

标签: php arrays multidimensional-array tree nested-lists

我需要将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.Noarray keys设为1.1.1$test[1][1][1],然后我可以将相应的Name存储为值。

或者我应该制作父子类型数组? 将此转换为树/嵌套列表的最佳方法是什么?

1 个答案:

答案 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
                )

        )

)