1 回答
TA贡献1816条经验 获得超6个赞
希望你能帮助我,我之前确实弄清楚了一些递归,但这不是其中之一。我通过问卷调查得到了这样的数组:
Array
(
[Q1] => Array
(
[A3] => Array
(
[Q11] => Array
(
[A11] => Array
(
[Q111] => A112
)
)
[Q12] => Array
(
[A23] => Stackoverflow
)
)
)
[Q2] => A5
)
这些是问题和答案(我不能依赖它们的索引或前缀,但它们总是成对出现),如果答案是数组,则它有子问题。Q1 有 A3 作为答案,A11 作为 Q11 的嵌套答案,最后 A112 作为该分支中 Q111 的最终答案。但 Q1 还有一个并行子问题,选择了 A23,因为它是“其他:”选项,所以用户输入了文本。最后第二题选择了A5答案。
为了更快地输入,这是 JSON 格式的数组:
{"Q1":{"A3":{"Q11":{"A11":{"Q111":"A112"}},"Q12":{"A23":"Stackoverflow"}}},"Q2":"A5"}
所以现在,我需要在这样的对象中获取结果:
{
"questions": [{
"questionId": "Q1",
"answers": [{
"answerId": "A3",
"questions": [{
"questionId": "Q11",
"answers": [{
"answerId": "A11",
"questions": [{
"questionId": "Q111",
"answers": [{
"answerId": "A112"
}]
}]
}]
},
{
"questionId": "Q12",
"answers": [{
"answerId": "A23",
"answerPhrase": "Stackoverflow"
}]
}
]
}]
},
{
"questionId": "Q2",
"answers": [{
"answerId": "A5"
}]
}
]
}
我确信递归相对简单,但在尝试并迷失之后,我尝试了 JSON,结果更糟。我提醒您,问题和解答是成对出现的,所以我相信递归应该有两个嵌套循环,但您可能更清楚 - 我只是不能依赖索引值。预先感谢 PHP 向导!
- 1 回答
- 0 关注
- 95 浏览
添加回答
举报