首页 > 解决方案 > 如何在 php 中修复数组中的 Foreach 数组以返回结果

问题描述

请求后来自 Api 的数据

array:1 [▼
  "id" => 1
  "name" => "test"
  "active_domain" => "https://drycleaner.com"
  "domains" => array:1 [▶]
  "rr" => array:2 [▼
    0 => array:1 [▼
      0 => array:1 [▼
        "end_at" => "2020-11-08T08:00:00.000+08:00"
      ]
    ]
    1 => array:1 [▼
      0 => array:1 [▼
        "end_at" => "2020-11-08T08:00:00.000+08:00"
      ]
    ]
  ]
]

php laravel Blade.view

@foreach ($store["rr"] as $key2=>$rr){
     @foreach ($rr["rss"] as key3 =>$rss)}
        <td>{{ date("d-M-y  H:i", strtotime($rss["end_at"])) }}</td>
          @endforeach

未定义的 end_at 错误。我认为这是 foreach 列命名的问题。如何从“end_at”的 api 中获取并插入表中。

标签: phparrayslaravel-blade

解决方案


end_at键在第二个数组上$dr。您需要再次调用 foreach 或直接使用 key $dssl[0]["end_at"]

<td>{{ date("d-M-y  H:i", strtotime($dssl[0]["end_at"])) }}</td>

或使用 foreach

@foreach ($store["dr"] as $key2=>$dr){
     @foreach ($dr["dssl"] as key3 =>$dssl)}
          @foreach ($dssl as key4 =>$dss)}
        <td>{{ date("d-M-y  H:i", strtotime($dss["end_at"])) }}</td>
          @endforeach
      @endforeach
@endforeach

推荐阅读