TWIG,多维数组和Foreach

时间:2016-04-17 18:42:29

标签: php arrays symfony multidimensional-array twig

使用JSON API提要,我使用curl然后使用json_decode来获取它,如果我是正确的,我会得到一个数组。我可以使用此$successes = $data2['Data']['0']['OID'];显示数组中的特定数据。

我想要为API上的每个数据条目提取OID,因此我最终会得到一个显示所有OID的列表。我的想法是使用$first_names = array_column($data2, 'OID');然后使用print_r,但我似乎无法弄清楚如何使用twig正确显示它?

$url2 = 'https://home-api.letmc.com/v2/tier3/letmcletting/property/properties/'.$letmc_property_id.'/photos?offset=0&count=1000&api_key='.$letmc_apikey.''; 
        $ch2 = curl_init();
        curl_setopt($ch2, CURLOPT_URL, $url2);    
        curl_setopt($ch2, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json'));
        curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
        $output2 = curl_exec($ch2);
        curl_close($ch2);
        $data2 = json_decode($output2, true);

        $successes = $data2['Data']['0']['OID'];

        $this->_app->render('tennant/tennant-my-property.twig', [
            "theOIDs" => $successes,
        ]);

API提要示例

{
  "Data": [
    {
      "OID": "0908-703e-0fe1-235c",
      "ETag": "0908-703e-0fe1-235c-0",
      "Name": "",
      "FileName": "white lounge.jpg",
      "InspectionItem": "0000-0000-0000-0000",
      "InterimInspection": "0000-0000-0000-0000",
      "InventoryItem": "0000-0000-0000-0000",
      "Property": "0907-f421-2742-7351",
      "Room": "0000-0000-0000-0000",
      "PhotoNumber": 3
    },
    {
      "OID": "0908-8a9b-c1f9-5219",
      "ETag": "0908-8a9b-c1f9-5219-0",
      "Name": "",
      "FileName": "Large kitchen with island.jpg",
      "InspectionItem": "0000-0000-0000-0000",
      "InterimInspection": "0000-0000-0000-0000",
      "InventoryItem": "0000-0000-0000-0000",
      "Property": "0907-f421-2742-7351",
      "Room": "0000-0000-0000-0000",
      "PhotoNumber": 2
    }
  ],
  "Count": 2
}

任何帮助或想法都会很棒!

UPDATE 如果我将OID更改为$ data2,我也可以使用像{{ theOIDs['Data'][0]['OID'] }}这样的twig从数组中获取特定条目。有没有办法让我使用树枝?

1 个答案:

答案 0 :(得分:1)

试试这个循环:

<ul>
    {% for elem in Data %}
        <li>{{ elem.OID}}</li>
    {% endfor %}
</ul>

twigfiddle中的一个工作示例。

希望这个帮助