Как я могу «временно» сохранить некоторые значения из декодированной таблицы JSON? - PullRequest
0 голосов
/ 04 января 2019

Я создаю функцию, которая выполняет вызов с API для db и возвращает мне данные JSON. JSON содержит заказы, и я уже декодировал их в массиве php. Каждый заказ имеет такие свойства, как «product_id» и «количество». Я хочу временно сохранить свойство «количество» где-нибудь, потому что мне нужно объединить все продукты с одним и тем же product_id. Любое предложение, как это сделать?

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Я немного тороплюсь, но хотел посмотреть, смогу ли я вам помочь.

$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,
];
0 голосов
/ 04 января 2019

Вы можете использовать переменную сеанса для хранения этих значений.

...