【问题标题】:Update quantity session array更新数量会话数组
【发布时间】:2015-02-04 19:16:16
【问题描述】:

我需要帮助

这是我的会话数组:

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]" where [id] = 2

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

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

【问题讨论】:

  • 你能再解释一下吗?
  • $pocet 值从何而来?也是来自$_GET吗?
  • Môžeš meniť 十届会议阵列 alebo musí ostať ako je? V prvom prípade by si mohol id produktu použiť ako kľúč v poli products a pristupovať priamo k tomuto produktu cez $sessionArray['products'][$_GET['id']]。 V druhom prípade musíš foreachovatpole products a porovnávať id s tým co je v gete

标签: php arrays session


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • Array ( [menu] => [id] => 1 [products] => Array ( [0] => Array ( [id] => 1 [name] => Produkt 1 [code ] => 1 [varianta] => [pocet] => 1 [price] => 20 [pricepredtym] => 40 ) [1] => 数组 ( [pocet] => 5 ) ) )
    猜你喜欢
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 2014-04-27
    • 2020-06-06
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    相关资源
    最近更新 更多