我如何 "temporary" 存储来自解码 JSON table 的一些值?

How can I "temporary" store some values from a decoded JSON table?

我正在构建一个函数,该函数正在使用 API 调用 db 和 returns 我 JSON 数据。 json 包含订单,我已经在 php 数组中解码了它们。每个订单都有 "product_id" 和 "quantity" 等属性。我想暂时将 "quantity" 属性 存储在某处,因为我需要对具有相同 product_id 的所有产品求和。有什么建议吗?

您可以使用会话变量来存储这些值。

我有点赶时间,但想看看能不能帮到你。

$quantities = [];

//Loop through all the orders
foreach ($orders as $order) {
    //Loop through the orderrows
    foreach ($order->getOrderRows() as $orderRow) {
        if (array_key_exists($orderRow->getProductName(), $quantities)) {
            //The product is already in the quantities array, so the quantity of this orderrow is added to the total
            $quantities[$orderRow->getProductName()] =
                ($quantities[$orderRow->getProductName()] + (int) $orderRow->getItemQuantity());
        } else {
            //If this is the first time the product is encountered add the product and its quantity to the quantities array
            $quantities[$orderRow->getProductName()] = (int) $orderRow->getItemQuantity();
        }
    }
}

这将产生以下结果,向您显示产品名称及其数量:

$quantities = [
    'foo' => 12,
    'bar' => 3,
];