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 關注
- 123 瀏覽
添加回答
舉報