簡體   English   中英

具有多維數組的 Foreach - Laravel Blade

[英]Foreach with a multidimensional array - Laravel Blade

我正在 laravel 8 的機票預訂系統項目上工作。當我調用 API 時,我得到一個多維數組作為回報。 這是數組。 我需要在“Fares”數組下顯示“ResultID”、“BaseFare”、“Tax”

array:3 [▼
"SearchId" => "fca84241-dd9b-4cf2-bd6f-2f221dcc2b91"
"Results" => array:8 [▼
0 => array:14 [▼
  "ResultID" => "f0a54871-d728-424a-8e97-94e22308ac44"
  "IsRefundable" => true
  "Fares" => array:1 [▼
    0 => array:9 [▼
      "BaseFare" => 2775.0
      "Tax" => 725.0
      "Currency" => "BDT"
      "OtherCharges" => 0.0
      "Discount" => 0.0
      "AgentMarkUp" => 0.0
      "PaxType" => "Adult"
      "PassengerCount" => 1
      "ServiceFee" => 0.0
    ]
  ]
  "Discount" => 0.0
  "Validatingcarrier" => "BG"
  "LastTicketDate" => "2022-05-30T00:00:00"
  "segments" => array:1 [▶]
  "TotalFare" => 3500.0
  "TotalFareWithAgentMarkup" => 3500.0
  "Currency" => "BDT"
  "Availabilty" => 1
  "FareType" => "InstantTicketing"
  "isMiniRulesAvailable" => false
  "HoldAllowed" => false
]
1 => array:14 [▶]
2 => array:14 [▶]
3 => array:14 [▶]
4 => array:14 [▶]
5 => array:14 [▶]
6 => array:14 [▶]
7 => array:14 [▶]
]
"Error" => null
]

這是我的控制器功能,如果它在任何情況下都有用。

       $response = $client->post($url,
               ['form_params' => $travel_data]
       );

       $response = json_decode($response->getBody(), true);

       $data['flight']= $response;
       $data['app']= App_setting::find(1);
       return view('agent.flights.search_results',$data);

下面是我在 Blade.php 中的代碼塊,但它給了我錯誤,我嘗試了幾種方法但未能創建循環。

@foreach ($flight as $key => $teamArray)
         @foreach($teamArray as $team_Array)
               @php
                      echo "<pre>";
                      print_r($teamArray['Fares'][0]['BaseFare']);
               @endphp
                   
         @endforeach

   @endforeach

您在內部 foreach 中使用變量teamArray而不是team_Array ,但您可以省略第二個 foreach。

要獲取 * SearchId* 的值以及BaseFareTax的值:

$flight = [
    [
        "SearchId" => "fca84241-dd9b-4cf2-bd6f-2f221dcc2b91",
        "Results" => [
            0 => [
                "ResultID" => "f0a54871-d728-424a-8e97-94e22308ac44",
                "IsRefundable" => true,
                "Fares" => [
                    0 => [
                        "BaseFare" => 2775.0,
                        "Tax" => 725.0,
                        "Currency" => "BDT"
                    ]
                ],
                "Discount" => 0.0,
                "Validatingcarrier" => "BG"
            ]
        ]
    ]
];

foreach ($flight as $key => $teamArray) {
    echo $teamArray["SearchId"] . PHP_EOL;
    foreach($teamArray["Results"] as $result) {
        echo ($result["Fares"][0]["BaseFare"]) . PHP_EOL;
        echo ($result["Fares"][0]["Tax"]) . PHP_EOL;
    }
}

輸出

fca84241-dd9b-4cf2-bd6f-2f221dcc2b91
2775
725

查看PHP 演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM