我需要一些帮助从PHP多维数组中获取数据。这个数组充满了问题,以及这些问题的答案。每个问题可以有多个答案,但大多数问题的答案数量是不同的。这是它的var_dump:
object(CommandResponse)#3 (3)
{
["success"]=> bool(true)
["message"]=> string(6) "Got it"
["value"]=> array(2)
{
[0]=> array(3)
{
["questionId"]=> string(2) "25"
["question"]=> string(9) "Question 1"
["answers"]=> array(2)
{
[0]=> array(2)
{
["answerId"]=> string(1) "1"
["answer"]=> string(9) "Answer 1"
}
[1]=> array(2)
{
["answerId"]=> string(2) "18"
["answer"]=> string(22) "Answer 2 for question 1"
}
}
}
[1]=> array(3)
{
["questionId"]=> string(2) "26"
["question"]=> string(9) "Question 2"
["answers"]=> array(1)
{
[0]=> array(2)
{
["answerId"]=> string(2) "17"
["answer"]=> string(9) "Answer 2"
}
}
}
}
我想从它得到这样的东西:
Question 1
Answer 1
Answer 2
Question 2
Answer 1
Answer 2
到目前为止,我已经试过了:
得到这样的问题:print $myArray->value[0]['question'];
得到像这样的第一个答案:print $myArray->value[0]['anwsers'][0]['answer'];
我也试过在一些foreach循环中循环它,但是我没有得到任何好的结果。
foreach ($myArray->value as $key => $value)
{
print $value['question'].' - ';
print $value['answers'][0]['answer'].'<br />';
}
假设数据在变量$object
中提供。
// Assign questions array to $questions
$questions = $object->value;
// Loop through questions
echo '<ul>';
foreach ($questions as $q) {
echo '<li>' . $q['question'];
// Loop through answers
echo '<ul>';
foreach($q['answers'] as $a) {
echo '<li>' . $a['answer'] . '</li>';
}
echo '</ul>';
echo '</li>';
}
echo '</ul>';
应该输出所需的
- 问题1
- 答
- 回答2
- 问题2
- 答
- 回答2