0

我需要一些帮助从 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 />';
}
4

1 回答 1

1

假设变量中提供了数据$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
    • 答案 1
    • 答案 2
  • 问题2
    • 答案 1
    • 答案 2
于 2013-04-13T14:29:18.893 回答