更新数量会话数组


Update quantity session array

我需要的帮助

这是我的会话数组:

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
                )
        )
)

我需要一些类似的东西,如果($_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
                )

您可以通过产品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;
    }
}

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

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