これをより具体的に書き直します。
私はcsvファイルを持っています。すべての行には、カテゴリ ツリーを表す配列に分解されるフィールドがあります。したがって、最初の 3 行は次のように配列になる可能性があります。
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