在数组PHP中添加键

我在数组学习,我想知道如何添加这种数组的键?

{  
   "items":[  
      {  
         "count":"1",
         "id":123,
         "description":"Bag",
         "price":11

      },
      {  
         "count":1,
         "id":1234,
         "description":"10% discount",
         "price":-1.1

      }
   ],
   "total":9.9,
   "discount_total":9.9
}

因为我需要转换数组以在数组内的id上有一个键.

{  
   "items":{  
      "123":{  
         "count":"1",
         "cart_id":123,
         "description":"Bag",
         "price":11
      },
      "1234":{  
         "count":1,
         "cart_id":1234,
         "description":"10% discount",
         "price":-1.1
      }
   },
   "total":9.9,
   "discount_total":9.9
}

这是我的代码

header('Content-Type: application/json');
$cart_array = json_decode('{  
   "items":[  
      {  
         "count":"1",
         "cart_id":123,
         "plu":"TP16",
         "description":"Bag"

      },
      {  
         "count":1,
         "cart_id":1234,
         "plu":"disCT10",
         "description":"10% discount"

      }
   ],
   "total":9.9,
   "discount_total":9.9
}');

foreach ($cart_array->items as $item)
{
    $construct["cart_id"] = $item->cart_id;
}

我想问一下如何将id放入数组中?我不能使用$cart_array [‘id’] = $value,它会返回错误.

Uncaught Error: Cannot use object of type stdClass as array

我真的可以在这里使用一些解释

解决方法:

你根本不需要循环.您可以使用array_column将数组与一行代码相关联.

$cart_array['items'] = array_column($cart_array['items'], NULL, 'cart_id');

https://3v4l.org/cPD5n

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...