【发布时间】:2017-05-31 20:32:07
【问题描述】:
所以我有以下情况。在我的项目文件夹中,我有一个包含 .json 文件的“数据”文件夹。这些 .json 文件也是嵌套在文件夹中的。
类似:
/data
/content
/data1.json
/data2.json
/project
/data3.json
我想创建一个函数,它可以递归地遍历数据文件夹并将所有 .json 文件存储在一个多维数组中,这样可以相对轻松地添加用于我的项目的静态数据。所以预期的结果应该是:
$data = array(
'content' => array(
'data1' => <data-from-data1.json>,
'data2' => <data-from-data2.json>
),
'project' => array(
'data3' => <data-from-data3.json>
)
);
更新
我尝试了以下方法,但这只会返回第一级:
$data = array();
$directoryArray = scandir('./data');
foreach($directoryArray as $key => $value) {
$data[$key] = $value;
}
有没有一种巧妙的方法来实现这一点?
【问题讨论】:
-
这离火箭科学还有很长的路要走。您尝试过什么,或者您要报价吗?
-
@RiggsFolly 我已经更新了我的问题。
-
“我已经尝试了以下方法,但这只会返回第一级”——其中的递归在哪里?
-
这个问题太奇怪了,尤其是当你在上面放了一个 +50 的赏金代表时。如果您只是使用 Google 并稍微考虑一下,这是一项非常容易的任务。
标签: php arrays json recursion multidimensional-array