【发布时间】:2015-04-05 17:27:35
【问题描述】:
所以数组看起来像这样:
$folderIDs = array(
"FolderID"=>0,
"FolderName"=>"Main Folder",
"Folders"=>array(
array(
"FolderID"=>23,
"FolderName"=>"First SubFolder",
"Folders"=>array()
),
array(
"FolderID"=>4,
"FolderName"=>"Second SubFolder",
"Folders"=>array(
array(
"FolderID"=>99,
"FolderName"=>"SecondSub SubFolder ",
"Folders"=>array(
array(
"FolderID"=>27,
"FolderName"=>"SecondSubSub SubFolder",
"Folders"=>array()
)
)
)
)
),
array(
"FolderID"=>46,
"FolderName"=>"Third SubFolder",
"Folders"=>array()
)
)
);
数组可以“更多”嵌套,因为 subsubsub 文件夹也可以有子文件夹等等。
我们想要一个如下所示的重构数组:
$reconstructed_folderIDs = array(
0 => array(
"FolderName" => "Main Folder",
"ParentFolder" => "",
),
23 => array(
"FolderName" => "First SubFolder",
"ParentFolder" => 0,
),
4 => array(
"FolderName" => "Second SubFolder",
"ParentFolder" => 0,
),
99 => array(
"FolderName" => "SecondSub SubFolder",
"ParentFolder" => 4,
),
127 => array(
"FolderName" => "SecondSubSub SubFolder",
"ParentFolder" => 99,
),
46 => array(
"FolderName" => "Third SubFolder",
"ParentFolder" => 0,
),
);
是否有快速或可能的解决方案?
提前致谢!
【问题讨论】: