如何在Laravel或PHP中获取数组内部的集合

问题描述

我正在通过邮递员中的API传递以下数据。

我想从Items数组内的集合中访问这些值。

hub

解决方法

您是说要将这些项目转换为Collection吗?如果是这样,您可以执行以下操作:

$data = json_decode('{ "user":"abc","supplier":"xyz","pdate":"1","items":[ { "product":"Apple","qty":"1","rate":"40","amount":"40" },{ "product":"Banana","qty":"6","rate":"4","amount":"24" } ] }',true,512,JSON_THROW_ON_ERROR);

$items = collect($data['items']);
dd($items);

这将输出:

Illuminate\Support\Collection {#1545
  #items: array:2 [
    0 => array:4 [
      "product" => "Apple"
      "qty" => "1"
      "rate" => "40"
      "amount" => "40"
    ]
    1 => array:4 [
      "product" => "Banana"
      "qty" => "6"
      "rate" => "4"
      "amount" => "24"
    ]
  ]
}

请注意,出于示例的原因,我刚刚添加了数据并对其进行了json_decoded,但只需在传递数据的控制器中进行即可。