Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP将JSON数据迭代到循环中?_Php_Json - Fatal编程技术网

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

如何使用PHP将JSON数据迭代到循环中?,php,json,Php,Json,我需要使用PHP将一些JSON格式的数据迭代到循环中。我的JSON数据如下: { "question1":{ "ques":"questin1", "optional":[ { "opt":"option1" }, { &quo

我需要使用PHP将一些JSON格式的数据迭代到循环中。我的JSON数据如下:

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

我需要运行循环,以便使用PHP将结果数据转换为上述格式。

使用json_encode将PHP对象转换为json对象

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

这可能会有帮助:

您向我们展示的可能是JSON数据。在这种格式中,除了将其解码回本机PHP对象之外,我们在PHP中无法对其进行任何处理。完成后,您可以像使用普通PHP对象一样访问对象的所有属性,如
$objData->questin1
。以下是上述声明的含义:

    <?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);


    ?>


所以你只想打印你的json?!或者“上面的格式”是什么意思?你试过了吗?@JimmyKo:实际上那些json格式不是我的输入,但它应该是循环完成后的输出。然后显示你当前的数据和循环。我可以使用json中存在的数据。它应该是全部打印输出。