0
我有一個我的磚砌音樂磁盤的xml備份,我試圖很好地訪問,以探索那裏的文件夾(專輯)和曲目。到目前爲止,我創建了一個包含所有文件位置的數組,因爲這就是xml的構建方式。每個文件夾都以逗號分隔。現在我想將它全部合併並轉換爲具有文件夾結構的數組。從那裏開始,我可以使用該數組構建類似瀏覽器的界面來瀏覽我的舊音樂曲目。將文件列表數組轉換爲合併的文件夾結構數組
以下數組是什麼,我現在已經和要轉換的例子:
[
[x, xy, xya, {file: one}],
[x, xy, xya, {file: two}],
[x, xy, xyz, {file: one}],
[x, xy, {file: one}],
[x, xz, {file: one}],
[x, xz, {file: two}],
[x, {file: one}],
[x, {file: two}],
[y, {file: one}]
]
我想上面的數組轉換成類似如下:
[
{folder: x,
content:
[
{folder: xy,
content:
[
{folder: xya,
content:
[
{file: one},
{file: two}
]
},
{folder: xyz,
content:
[
{file: one}
]
},
{file: one}
]
},
{folder: xz,
content:
[
{file: one},
{file: two}
]
},
{file: one},
{file: two}
]
},
{folder: y,
content:
[
{file: one}
]
}
]
我一直在嘗試,但仍還沒有找到準確的解決方案。有任何想法嗎?
在第一個代碼中你有多維數組,在上面的代碼中你有數組中的對象。 – itzikb
您可以嘗試使用遞歸函數。檢查元素類型is_array,is_object array_key_exists以識別文件夾或文件等 – manuerumx
感謝您的提示,我會繼續嘗試。可能在文件夾中添加'type:folder'並將'type:file'添加到文件可能更容易處理,而不是使用遞歸函數。但還沒有找到解決辦法。 –