更新数量会话数组

Update quantity session array

我需要帮助

这是我的 session 数组:

Array
(
    [menu] => 
    [id] => 3
    [products] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [name] => Produkt 1
                    [code] => 1
                    [varianta] => 
                    [pocet] => 1
                    [price] => 20
                    [pricepredtym] => 40
                )

            [1] => Array
                (
                    [id] => 2
                    [name] => Produkt 1
                    [code] => 1
                    [varianta] => 
                    [pocet] => 1
                    [price] => 20
                    [pricepredtym] => 40
                )

        )

)

我需要类似的东西,if ($_GET [id] == $ _SESSION ['products'] [id]) 并且只更改此“[pocet]”,其中 [id] = 2

$_GET [id] = 2; $pocet=5;

[1] => Array
                (
                    [id] => 2
                    [name] => Produkt 1
                    [code] => 1
                    [varianta] => 
                    [pocet] => 5
                    [price] => 20
                    [pricepredtym] => 40
                )

将您的 GET 值与 2 进行比较,并将其用作 SESSION 数组的键。

if ($_GET['id'] == '2'){
    $_SESSION['products'][$_GET['id']]['pocet'] = '5';
}

您可以按产品 ID 为您的 products 数组编制索引。那么更新将很简单:

if(isset($_SESSION['products'][$prod_id])) {
    $_SESSION['products'][$prod_id]['pocet'] = $pocet;
}

否则,使用 foreach 循环:

foreach ($_SESSION['products'] as $i => $prod) {
    if ($prod['id'] == $prod_id) {
        $_SESSION['products'][$i]['pocet'] = $pocet;
        break;
    }
}