在嵌套数组的末尾插入键/值对

时间:2018-08-03 00:19:43

标签: php recursion multidimensional-array

我需要使用递归函数创建一个嵌套数组。我的重点是在插入新内容时找出正确的键值。

该数组最初是空的,经过几次递归调用后应该看起来像这样。

[Family]
   [0]
      [Name]...
   [1]
      [Name]...
      [Family]
         [0]
            [Name]...
            [Family]
               [0]
                  [Name]....

每次对递归函数的调用都会创建一个[Family]键及其辅助的[Name']键([Family]也有其他键,为简单起见,仅将其保留为一个)。必须立即将其插入数组中最后一个[Name]键之后,无论当时处于何种深度。

输入数据是GEDCOM文件,这是一种以简单文本文件格式表示家族键的标准方法。我的代码可以从GEDCOM文件创建单个[Family]键,但是我无法弄清楚如何在每个递归调用中将每个['Family]键添加到输出数组的末尾。

例如,在第一次调用递归函数后,数组应如下所示:

[Family]
   [0]
      [Name]...
   [1]
      [Name]...

递归函数创建的[Family]键如下所示:

[Family]
         [0]
            [Name]...

应将其插入[Family] [1] [Name]之后的数组中。

我遇到的问题是,我在需要附加每个[Family]键时不知道该数组的结构,因为该数组是在每次对递归函数的调用上更新的,并且其中的数目未知数组中的尺寸。

Pete

0 个答案:

没有答案