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

报告相同问题?