我从API调用得到一个响应,如下所示
Array
(
[_id] => aasdasdasdasdasd
[created] => 2017-01-16T14:11:54.616Z
[options] => Array
(
[title] => 1
[data] => Array
(
[0] => Array
(
[labelName] => Date
[labelValues] => Array
(
[0] => March 2016
)
)
[1] => Array
(
[labelName] => Title
[labelValues] => Array
(
[0] => Food
)
)
[2] => Array
(
[labelName] => Product
[labelValues] => Array
(
[0] => Rice
)
)
)
)
)
然后我通过执行以下操作来处理响应
$results = array();
foreach ($output['options']['data'] as $data) {
if (isset($data['labelValues'][0])) {
$results[$data['labelName']] = $data['labelValues'][0];
}
}
这给我留下了与此相关的内容。
Array
(
[Date] => March 2016
[Title] => Food
[Product] => Rice
)
将它放入数组并不是我的意图,主要是为了帮助我更好地理解处理原始数据所需的循环。
我的主要目的是从这些值创建目录。主目录将是Date,其中应该是Title,其中应该是Product。因此,对于上述内容,目录结构应该类似2016>食物>稻。
为了达到这个目的,我提出了以下内容
foreach ($output['options']['data'] as $data) {
if (isset($data['labelValues'][0])) {
if($data['labelName'] == 'Date') {
if (preg_match('/\b\d{4}\b/', $data['labelValues'][0], $matches)) {
$results[$data['labelName']] = $matches[0];
if (!file_exists($matches[0])) {
mkdir($matches[0], 0777, true);
}
}
}
}
}
以上效果很好,并为我创建了日期文件夹。我正在努力的是我现在如何在Date文件夹中创建Title文件夹,然后在Title中创建Product。
我将如何实现这一目标?
非常感谢
答案 0 :(得分:1)
我喜欢你创建的数组:
$array = array
(
[Date] => March 2016
[Title] => Food
[Product] => Rice
)
简单地破坏道路:
mkdir(implode('/', $array), 0777, true);
这将创建所有目录March 2016/Food/Rice