检查购物车中是否存在选项php

时间:2017-05-05 00:49:28

标签: php laravel loops session foreach

我正在尝试查看所选的选项是否已存在于会话中。所以我创建了一个foreach循环来抛出会话中的所有选项并对其执行if语句。我的问题是if语句1/5在我每次在会话中存在选项时应该随机传递时随机失败。请求总是正确的,因为它来自DOM。所以问题在于我的foreach循环

PHP

foreach(Session::get('cartitems') as $items => $value) {
    if(isset($value['options']) && $value['options'] == implode('', $request->options)) {
        Session::forget('cartitems.'.$key);
    }
}

我的对象会话对象看起来像这样

{  
   "3":{  
      "product_id":"1",
      "qty":2,
      "options":"5"
   },
   "4":{  
      "product_id":"1",
      "qty":2,
      "options":"1"
   },
   "5":{  
      "product_id":"1",
      "qty":3,
      "options":"3"
   },
   "6":{  
      "product_id":"1",
      "qty":3,
      "options":"1"
   }
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果你想检查已经兴奋的会话选项,我建议使用“嵌套foreach”然后你可以循环所有值来检查,希望它可以帮助

foreach(Session::get('cartitems') as cartitem_key => $cartitem_row) { //session array

   foreach($request->options as option_key => option_row){ //option array

      if($cartime_row['options'] == option_row['options']){

         Session::forget('cartitems[$cartitem_key]);

      }

   }

}