简体   繁体   English

如何使用 PHP 将 JSON 数据迭代到循环中?

[英]How to iterate the JSON data into a loop using PHP?

I need to iterate some JSON formatted data into loop using PHP.我需要使用 PHP 将一些 JSON 格式的数据迭代到循环中。 My JSON data is below:我的 JSON 数据如下:

{  
   "question1":{  
      "ques":"questin1",
      "optional":[  
         {  
            "opt":"option1"
         },
         {  
            "opt":"option2"
         }
      ]
   },
   "question2":{  
      "ques":"questin2",
      "optional":[  
         {  
            "opt":"option1"
         },
         {  
            "opt":"option2"
         }
      ]
   }
}

I need to run the loop so that the result data will come in above format using PHP.我需要运行循环,以便使用 PHP 以上述格式显示结果数据。

Convert the php object to json object using json_encode使用 json_encode 将 php 对象转换为 json 对象

// convert object => json
$json = json_encode($myObject);

This might helpful: https://stackoverflow.com/a/9858457/6285410这可能会有所帮助: https : //stackoverflow.com/a/9858457/6285410

What you showed us is a Possible JSON Data.您向我们展示的是一个可能的 JSON 数据。 In this Format, we can do nothing with it in PHP except by decoding back into Native PHP Object.在这种格式中,除了解码回原生 PHP 对象外,我们无法在 PHP 中对其进行任何操作。 Once that is done, You can access all the Properties of the Object like you do with normal PHP Object like $objData->questin1 .完成后,您可以像使用普通 PHP 对象(如$objData->questin1一样访问对象的所有属性。 Here's what is meant with the above statements:以下是上述语句的含义:

    <?php

        $strJson = '{
           "question1":{
              "ques":"questin1",
              "optional":[
                 {
                    "opt":"option1"
                 },
                 {
                    "opt":"option2"
                 }
              ]
           },
           "question2":{
              "ques":"questin2",
              "optional":[
                 {
                    "opt":"option1"
                 },
                 {
                    "opt":"option2"
                 }
              ]
           }
        }';

        $objData    = json_decode($strJson);
        var_dump($objData);


        // NOW, TO GET AT EACH OF THE PROPERTIES OF THE OBJECT IS EASY...

        // ACCESS THE question1 OR question2
        $q1     = $objData->question1;
        $q2     = $objData->question2;

        // ACCESS THE que WITHIN question 1 OR question2
        $k1     = $objData->question1->ques;        //  EQUIVALENT TO: $q1->ques
        $k2     = $objData->question2->ques;        //  EQUIVALENT TO: $q2->ques

        // ACCESS THE optional ARRAY INSIDE OF question 1 OR question2
        $opt1   = $objData->question1->optional;    //  EQUIVALENT TO: $q1->optional
        $opt2   = $objData->question2->optional;    //  EQUIVALENT TO: $q2->optional

        var_dump($q1, $q2, $k1, $k2, $opt1, $opt2);


    ?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM