Как обработать массив JSON из корзины с помощью PHP? - PullRequest
0 голосов
/ 28 ноября 2018

У меня «простой» вопрос, но у меня болит голова.Я интегрирую свой проект с PagSeguro API, и моя корзина покупок JSON:

{
  "0": {
    "id": "ItsVRseZ",
    "name": "82",
    "price": 140,
    "quantity": 1,
    "attributes": {
      "type": "ticket",
      "match": {
        "championship": "Gauchão 2018",
        "club_main": "Internacional",
        "club_main_arms": "/images/clubs/1/1537880299212.png",
        "club_visitor": "Grêmio",
        "club_visitor_arms": "/images/clubs/2/1537880338132.png",
        "stadium": "Beira Rio",
        "date_match": "30/11/2018 às 20:11"
      },
      "lot": 5,
      "sector": "101"
    },
    "conditions": []
  },
  "1": {
    "id": "tJfVtJt4",
    "name": "83",
    "price": 140,
    "quantity": 1,
    "attributes": {
      "type": "ticket",
      "match": {
        "championship": "Gauchão 2018",
        "club_main": "Internacional",
        "club_main_arms": "/images/clubs/1/1537880299212.png",
        "club_visitor": "Grêmio",
        "club_visitor_arms": "/images/clubs/2/1537880338132.png",
        "stadium": "Beira Rio",
        "date_match": "30/11/2018 às 20:11"
      },
      "lot": 5,
      "sector": "101"
    },
    "conditions": []
  },
  "elo_balance": 80,
  "total": 200,
  "subtotal": 280
}

Мой вопрос, я хотел бы отправить в массив мои массивы заявок 0 и 1 сих соответствующие ids, names and attributes должны быть установлены в лайтбоксе PagSeguro, например:

Ingresso para o jogo Internacional x Grêmio pelo campeonato: Gauchão 2018. Описание: Beira Rio dia 30/11/2018 - 20:11.Кадейра: 82

Ingresso para o jogo Internacional x Grêmio pelo campeonato: Gauchão 2018. Описание: Beira Rio dia 30/11/2018, 20:11.Cadeira: 83

foreach ($items as $item) {
    $match = $item->attributes->match;

    $data['payment'] = array(
        'client'    =>  array(
            'name_full' =>  Auth::user()->name_first . ' ' . Auth::user()->name_second,
            'email'     =>  Auth::user()->email,
            'phone'     =>  substr(Auth::user()->phone, 2),
            'cpf'       =>  Auth::user()->cpf
        ),
        'ticket' => array(
            'id'            =>  $item->id,
            'description'   => 'Ingresso para o jogo: ' . $match['club_main'] . ' X ' . $match['club_visitor'] . ', pelo campeonato: ' . $match['championship'],
            'quantity'      =>  $item->quantity,
            'amount'        =>  number_format($info['total'], 2)
        )
    );

    $payment = PagSeguro::sendPayment($data['payment']);

В настоящее время мой массив доставки работает следующим образом: значение, которое я отправляю, представляет собой сумму JSON, а мой description - это описание, которое получает первое из массива, но я бы хотелполучить все описания всех билетов.

Я не знаю, была ли моя идея ясна, но любое сомнение - просто поговорить!Всем, кто может дать свет, большое спасибо.

...