douhuang5623 2013-03-07 10:47
浏览 36
已采纳

在多维关联数组中获取值?

I have a SESSION array $_SESSION['cart']

for example it has value as

Array
(
    [0] => 
    [1] => Array
        (
            [item_id] => 1420
            [item_qty] => 1
        )
    [2] => Array
        (
            [item_id] => 1522
            [item_qty] => 1
        )
)

Now let's say I have item_id = 1420

now I want to increase the item_qty for item_id = 1420 and also I have to set it in that SESSION array.

What I tried it :

  foreach($_SESSION['Cartquantity'] as $key => $d)
    {
         if(isset($d)) {
                   if($d['item_id'] == $_GET['item_id'])
                   {
                        $d['item_quntity'] = $d['item_quantity']+1;
                   }
           }
            else{

               }
   }

It's not working ?

  • 写回答

7条回答 默认 最新

  • douh9817 2013-03-07 10:52
    关注

    You're iterating over $_SESSION['Cartquantity'] but have told us that the array is stored in $_SESSION['cart'].

    Also, this:

    $d['tem_quntity'] = $d['item_quantity']+1;
    

    Should be:

    $d['item_qty'] = $d['item_qty']+1;
    

    Finally, you'll need to make $d a reference by prepending an ampersand (&) to it in the foreach condition.

    foreach($_SESSION['cart'] as $key => &$d)
        {
             if($d) {
                       if($d['item_id'] == $_GET['item_id'])
                       {
                            $d['item_qty'] = $d['item_qty']+1;
                       }
               }
                else{
    
                   }
       }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里