将其重写为更具体。
我有一个 csv 文件。每行都有一个字段,该字段分解为表示类别树的数组。因此,前三行可能会变成这样的数组:
array('food', 'fruit', 'red', 'apple')
array('food', 'fruit', 'green', 'kiwi')
array('beauty', 'makeup', 'lipstick')
不过,它应该是一棵树。我需要结束:
food
fruit
red
apple
green
kiwi
beauty
makeup
lipstick
与这个问题和我见过的几十个类似问题的主要区别在于,每次读取的记录中没有保证的级别数,并且一个记录可能没有与另一个记录相同的键的明显可能性。所以 array_merge 似乎和使用 + 一样失败
唯一的保证是对于任何记录,假设键列表从数组的顶层开始,所以如果有
rec1 = animal, fish, shark
rec2 = fish, shark, hammerhead
预期的结果是
animal
fish
shark
fish
shark
hammerhead