drgmszo076956 2017-02-10 15:31
浏览 41
已采纳

使用PHP获取JSON数组

I have the following JSON string, I'm wanting to cycle through the 'sub' items and print them out as HTML Select Options but for some reason I can't quite get hold of them.

Only used JSON a couple times before so it's probably a rookie mistake somewhere.

{
   "1":{
      "question":"How happy are you with your car?",
      "sub":[
         "Very Happy",
         "Not So Happy",
         "Unhappy",
         "Very Unhappy"
      ]
   }
}

I have the following which let's me echo out the Question Value but how would I loop through each of the 'sub' arrays? (There's only ever going to be 1 question which is why I'm storing it in a single variable)

$questionAnswer = json_decode($data->question,true);
foreach ($questionAnswer as $key => $value) {
  $question = $value['question'];
}
  • 写回答

2条回答 默认 最新

  • douyu1656 2017-02-10 15:42
    关注

    Add another loop inside the existing one:

    $questionAnswer = json_decode($data->question,true);
    foreach ($questionAnswer as $key => $value) {
      $question = $value['question'];
    
      echo $question."<br>";
      // value['sub'] contains the array of 'subs', so you can loop through that the same way
      foreach ($value['sub'] as $sub) {  // since the key will be 0,1,2 you might not need it here, so I omitted it.
          echo $sub."<br>"; 
      }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?