2013-11-28 1 views
1

мне нужно преобразовать следующие данные в формате 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 в качестве значения ,

или я должен создать массив родительских дочерних типов? Какой был бы лучший способ конвертировать это в дерево/вложенный список?

ответ

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 
       ) 

     ) 

) 

 Смежные вопросы

  • Нет связанных вопросов^_^